Fixing SHR constant prop and new cntlz tests.
This commit is contained in:
Binary file not shown.
@@ -8,14 +8,37 @@ Disassembly of section .text:
|
||||
100000: 7c a6 00 74 cntlzd r6,r5
|
||||
100004: 4e 80 00 20 blr
|
||||
|
||||
0000000000100008 <test_cntlzd_2>:
|
||||
100008: 7c a6 00 74 cntlzd r6,r5
|
||||
10000c: 4e 80 00 20 blr
|
||||
0000000000100008 <test_cntlzd_1_constant>:
|
||||
100008: 38 a0 00 00 li r5,0
|
||||
10000c: 7c a6 00 74 cntlzd r6,r5
|
||||
100010: 4e 80 00 20 blr
|
||||
|
||||
0000000000100010 <test_cntlzd_3>:
|
||||
100010: 7c a6 00 74 cntlzd r6,r5
|
||||
100014: 4e 80 00 20 blr
|
||||
0000000000100014 <test_cntlzd_2>:
|
||||
100014: 7c a6 00 74 cntlzd r6,r5
|
||||
100018: 4e 80 00 20 blr
|
||||
|
||||
0000000000100018 <test_cntlzd_4>:
|
||||
100018: 7c a6 00 74 cntlzd r6,r5
|
||||
10001c: 4e 80 00 20 blr
|
||||
000000000010001c <test_cntlzd_2_constant>:
|
||||
10001c: 38 a0 00 01 li r5,1
|
||||
100020: 7c a6 00 74 cntlzd r6,r5
|
||||
100024: 4e 80 00 20 blr
|
||||
|
||||
0000000000100028 <test_cntlzd_3>:
|
||||
100028: 7c a6 00 74 cntlzd r6,r5
|
||||
10002c: 4e 80 00 20 blr
|
||||
|
||||
0000000000100030 <test_cntlzd_3_constant>:
|
||||
100030: 38 a0 00 00 li r5,0
|
||||
100034: 7c a5 28 f8 not r5,r5
|
||||
100038: 7c a6 00 74 cntlzd r6,r5
|
||||
10003c: 4e 80 00 20 blr
|
||||
|
||||
0000000000100040 <test_cntlzd_4>:
|
||||
100040: 7c a6 00 74 cntlzd r6,r5
|
||||
100044: 4e 80 00 20 blr
|
||||
|
||||
0000000000100048 <test_cntlzd_4_constant>:
|
||||
100048: 38 a0 00 00 li r5,0
|
||||
10004c: 7c a5 28 f8 not r5,r5
|
||||
100050: 78 a5 f8 42 rldicl r5,r5,63,1
|
||||
100054: 7c a6 00 74 cntlzd r6,r5
|
||||
100058: 4e 80 00 20 blr
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
0000000000000000 t test_cntlzd_1
|
||||
0000000000000008 t test_cntlzd_2
|
||||
0000000000000010 t test_cntlzd_3
|
||||
0000000000000018 t test_cntlzd_4
|
||||
0000000000000008 t test_cntlzd_1_constant
|
||||
0000000000000014 t test_cntlzd_2
|
||||
000000000000001c t test_cntlzd_2_constant
|
||||
0000000000000028 t test_cntlzd_3
|
||||
0000000000000030 t test_cntlzd_3_constant
|
||||
0000000000000040 t test_cntlzd_4
|
||||
0000000000000048 t test_cntlzd_4_constant
|
||||
|
||||
Binary file not shown.
@@ -8,14 +8,38 @@ Disassembly of section .text:
|
||||
100000: 7c a6 00 34 cntlzw r6,r5
|
||||
100004: 4e 80 00 20 blr
|
||||
|
||||
0000000000100008 <test_cntlzw_2>:
|
||||
100008: 7c a6 00 34 cntlzw r6,r5
|
||||
10000c: 4e 80 00 20 blr
|
||||
0000000000100008 <test_cntlzw_1_constant>:
|
||||
100008: 38 a0 00 00 li r5,0
|
||||
10000c: 7c a6 00 34 cntlzw r6,r5
|
||||
100010: 4e 80 00 20 blr
|
||||
|
||||
0000000000100010 <test_cntlzw_3>:
|
||||
100010: 7c a6 00 34 cntlzw r6,r5
|
||||
100014: 4e 80 00 20 blr
|
||||
0000000000100014 <test_cntlzw_2>:
|
||||
100014: 7c a6 00 34 cntlzw r6,r5
|
||||
100018: 4e 80 00 20 blr
|
||||
|
||||
0000000000100018 <test_cntlzw_4>:
|
||||
100018: 7c a6 00 34 cntlzw r6,r5
|
||||
10001c: 4e 80 00 20 blr
|
||||
000000000010001c <test_cntlzw_2_constant>:
|
||||
10001c: 38 a0 00 01 li r5,1
|
||||
100020: 7c a6 00 34 cntlzw r6,r5
|
||||
100024: 4e 80 00 20 blr
|
||||
|
||||
0000000000100028 <test_cntlzw_3>:
|
||||
100028: 7c a6 00 34 cntlzw r6,r5
|
||||
10002c: 4e 80 00 20 blr
|
||||
|
||||
0000000000100030 <test_cntlzw_3_constant>:
|
||||
100030: 38 a0 00 00 li r5,0
|
||||
100034: 7c a5 28 f8 not r5,r5
|
||||
100038: 54 a5 00 3e rotlwi r5,r5,0
|
||||
10003c: 7c a6 00 34 cntlzw r6,r5
|
||||
100040: 4e 80 00 20 blr
|
||||
|
||||
0000000000100044 <test_cntlzw_4>:
|
||||
100044: 7c a6 00 34 cntlzw r6,r5
|
||||
100048: 4e 80 00 20 blr
|
||||
|
||||
000000000010004c <test_cntlzw_4_constant>:
|
||||
10004c: 38 a0 00 00 li r5,0
|
||||
100050: 7c a5 28 f8 not r5,r5
|
||||
100054: 54 a5 f8 7e rlwinm r5,r5,31,1,31
|
||||
100058: 7c a6 00 34 cntlzw r6,r5
|
||||
10005c: 4e 80 00 20 blr
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
0000000000000000 t test_cntlzw_1
|
||||
0000000000000008 t test_cntlzw_2
|
||||
0000000000000010 t test_cntlzw_3
|
||||
0000000000000018 t test_cntlzw_4
|
||||
0000000000000008 t test_cntlzw_1_constant
|
||||
0000000000000014 t test_cntlzw_2
|
||||
000000000000001c t test_cntlzw_2_constant
|
||||
0000000000000028 t test_cntlzw_3
|
||||
0000000000000030 t test_cntlzw_3_constant
|
||||
0000000000000044 t test_cntlzw_4
|
||||
000000000000004c t test_cntlzw_4_constant
|
||||
|
||||
@@ -552,7 +552,7 @@ void Value::Shr(Value* other) {
|
||||
constant.i32 = (uint32_t)constant.i32 >> other->constant.i8;
|
||||
break;
|
||||
case INT64_TYPE:
|
||||
constant.i64 = (uint16_t)constant.i64 >> other->constant.i8;
|
||||
constant.i64 = (uint64_t)constant.i64 >> other->constant.i8;
|
||||
break;
|
||||
default:
|
||||
assert_unhandled_case(type);
|
||||
|
||||
Reference in New Issue
Block a user