diff --git a/result/rvb23u64/0405a83f55e33715.S b/result/rvb23u64/0405a83f55e33715.S index 9227bcab5c6..a6bf1289936 100644 --- a/result/rvb23u64/0405a83f55e33715.S +++ b/result/rvb23u64/0405a83f55e33715.S @@ -87,10 +87,8 @@ func0000000000000086: func0000000000000154: sext.w a0, a0 - sext.b a1, a1 - slti a1, a1, 0 - li a2, 4 - czero.eqz a1, a2, a1 + srli a1, a1, 5 + andi a1, a1, 4 addi a1, a1, 1 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/061022a79907949f.S b/result/rvb23u64/061022a79907949f.S index 676fbd1b0a1..14ec2b1c0d9 100644 --- a/result/rvb23u64/061022a79907949f.S +++ b/result/rvb23u64/061022a79907949f.S @@ -69,10 +69,8 @@ func0000000000000108: ret func0000000000000148: - sext.w a1, a1 - slti a1, a1, 0 - li a2, 5 - czero.eqz a1, a2, a1 + sraiw a1, a1, 31 + andi a1, a1, 5 addi a1, a1, 4 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/061cf46f3d78327b.S b/result/rvb23u64/061cf46f3d78327b.S index fcd6aa483e1..d729fc7540b 100644 --- a/result/rvb23u64/061cf46f3d78327b.S +++ b/result/rvb23u64/061cf46f3d78327b.S @@ -1,8 +1,7 @@ func000000000000000a: andi a0, a0, 1 - slti a2, a2, 0 - li a3, -128 - czero.eqz a2, a3, a2 + srai a2, a2, 63 + andi a2, a2, -128 addi a2, a2, 406 czero.eqz a1, a1, a0 czero.nez a0, a2, a0 diff --git a/result/rvb23u64/069f0a7422e0ad83.S b/result/rvb23u64/069f0a7422e0ad83.S index 3fed542ec71..9a666df62f9 100644 --- a/result/rvb23u64/069f0a7422e0ad83.S +++ b/result/rvb23u64/069f0a7422e0ad83.S @@ -43,11 +43,9 @@ func0000000000000004: ret func000000000000001b: - sext.w a0, a0 - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 45 + srli a0, a0, 30 + andi a0, a0, 2 + addi a0, a0, 43 ret func000000000000001a: diff --git a/result/rvb23u64/07e8fea4e907d686.S b/result/rvb23u64/07e8fea4e907d686.S index 8610e101377..827503129f7 100644 --- a/result/rvb23u64/07e8fea4e907d686.S +++ b/result/rvb23u64/07e8fea4e907d686.S @@ -14,11 +14,10 @@ func000000000000001f: ret func000000000000006b: - slti a1, a1, 0 - li a2, 16 - czero.nez a1, a2, a1 + srai a1, a1, 63 + andi a1, a1, -16 add a0, a0, a1 - addi a0, a0, -24 + addi a0, a0, -8 ret func000000000000014e: @@ -53,19 +52,17 @@ func0000000000000043: ret func000000000000006f: - slti a1, a1, 0 - li a2, -88 - czero.nez a1, a2, a1 + srai a1, a1, 63 + andi a1, a1, 88 add a0, a0, a1 - addi a0, a0, 272 + addi a0, a0, 184 ret func000000000000006c: - slti a1, a1, 0 - li a2, -16 - czero.nez a1, a2, a1 + srli a1, a1, 59 + andi a1, a1, 16 add a0, a0, a1 - addi a0, a0, 56 + addi a0, a0, 40 ret func00000000000000ac: diff --git a/result/rvb23u64/08e31fe3b020618e.S b/result/rvb23u64/08e31fe3b020618e.S index 0f376c4c034..e528f5438b0 100644 --- a/result/rvb23u64/08e31fe3b020618e.S +++ b/result/rvb23u64/08e31fe3b020618e.S @@ -1,8 +1,7 @@ func0000000000000006: - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 45 + srli a0, a0, 62 + andi a0, a0, 2 + addi a0, a0, 43 ret func0000000000000024: diff --git a/result/rvb23u64/0a80d6bee51922da.S b/result/rvb23u64/0a80d6bee51922da.S index ebb3856aa1b..d98271ca081 100644 --- a/result/rvb23u64/0a80d6bee51922da.S +++ b/result/rvb23u64/0a80d6bee51922da.S @@ -12,12 +12,10 @@ func0000000000000001: func0000000000000006: andi a0, a0, 1 - sext.w a1, a1 - li a2, -13 - slti a1, a1, 0 - czero.nez a1, a2, a1 + sraiw a1, a1, 31 li a2, 43 - addi a1, a1, 45 + andi a1, a1, 13 + addi a1, a1, 32 czero.eqz a2, a2, a0 czero.nez a0, a1, a0 or a0, a0, a2 diff --git a/result/rvb23u64/0eb65d2bc6e84bc1.S b/result/rvb23u64/0eb65d2bc6e84bc1.S index 1ed3fdd385a..b3488dd892b 100644 --- a/result/rvb23u64/0eb65d2bc6e84bc1.S +++ b/result/rvb23u64/0eb65d2bc6e84bc1.S @@ -20,10 +20,9 @@ func00000000000000c6: func00000000000000cb: sext.w a0, a0 - slti a1, a0, 0 - li a2, 19 - czero.nez a1, a2, a1 - addi a1, a1, -7 + srai a1, a0, 63 + andi a1, a1, -19 + addi a1, a1, 12 slt a0, a0, a1 xori a0, a0, 1 ret diff --git a/result/rvb23u64/1707fb4035cd504f.S b/result/rvb23u64/1707fb4035cd504f.S index 52fc28ab652..815a9ba80c5 100644 --- a/result/rvb23u64/1707fb4035cd504f.S +++ b/result/rvb23u64/1707fb4035cd504f.S @@ -42,12 +42,10 @@ func0000000000000033: ret func0000000000000018: - sext.w a1, a1 - slti a1, a1, 0 - li a2, 8 - czero.nez a1, a2, a1 + sraiw a1, a1, 31 + andi a1, a1, -8 add a0, a0, a1 - addi a0, a0, 368 + addi a0, a0, 376 ret func0000000000000060: diff --git a/result/rvb23u64/175c9f7680b68628.S b/result/rvb23u64/175c9f7680b68628.S index 6c90e88c8c7..48a77b4063d 100644 --- a/result/rvb23u64/175c9f7680b68628.S +++ b/result/rvb23u64/175c9f7680b68628.S @@ -1,8 +1,7 @@ func0000000000000006: add a0, a0, a1 - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 45 + srli a0, a0, 62 + andi a0, a0, 2 + addi a0, a0, 43 ret diff --git a/result/rvb23u64/2170e2338802268a.S b/result/rvb23u64/2170e2338802268a.S index 4cff180c55f..2470ca2a04d 100644 --- a/result/rvb23u64/2170e2338802268a.S +++ b/result/rvb23u64/2170e2338802268a.S @@ -33,12 +33,10 @@ func0000000000000008: func0000000000000006: andi a0, a0, 1 - sext.w a1, a1 - li a2, 33 - slti a1, a1, 0 - czero.nez a1, a2, a1 + sraiw a1, a1, 31 li a2, 328 - addi a1, a1, 328 + andi a1, a1, -33 + addi a1, a1, 361 czero.nez a2, a2, a0 czero.eqz a0, a1, a0 or a0, a0, a2 diff --git a/result/rvb23u64/2e220706ffb03fac.S b/result/rvb23u64/2e220706ffb03fac.S index 90f76262419..1c4892fa40c 100644 --- a/result/rvb23u64/2e220706ffb03fac.S +++ b/result/rvb23u64/2e220706ffb03fac.S @@ -7,10 +7,9 @@ func0000000000000001: ret func0000000000000026: - addw a0, a0, a1 - slti a0, a0, 0 - li a1, 256 - czero.nez a0, a1, a0 - addi a0, a0, 147 + add a0, a0, a1 + sraiw a0, a0, 31 + andi a0, a0, -256 + addi a0, a0, 403 ret diff --git a/result/rvb23u64/31661cb89a087c60.S b/result/rvb23u64/31661cb89a087c60.S index d336a162e42..78d94bd23a8 100644 --- a/result/rvb23u64/31661cb89a087c60.S +++ b/result/rvb23u64/31661cb89a087c60.S @@ -1,8 +1,7 @@ func000000000000000a: - sext.b a1, a1 - slti a1, a1, 0 - li a2, -16 - czero.eqz a1, a2, a1 + slli a1, a1, 56 + srai a1, a1, 63 + andi a1, a1, -16 addi a1, a1, 31 and a0, a0, a1 ret diff --git a/result/rvb23u64/328c38e87f3201cc.S b/result/rvb23u64/328c38e87f3201cc.S index a50e572c056..c60896a422e 100644 --- a/result/rvb23u64/328c38e87f3201cc.S +++ b/result/rvb23u64/328c38e87f3201cc.S @@ -7,10 +7,8 @@ func000000000000018f: ret func00000000000000af: - slti a1, a1, 0 - li a2, 4 - czero.eqz a1, a2, a1 - add a0, a0, a1 + srli a1, a1, 63 + sh2add a0, a1, a0 addiw a0, a0, 9 ret diff --git a/result/rvb23u64/34478f1b04645a9c.S b/result/rvb23u64/34478f1b04645a9c.S index c8cc76fc2ef..1f04a8bdd3f 100644 --- a/result/rvb23u64/34478f1b04645a9c.S +++ b/result/rvb23u64/34478f1b04645a9c.S @@ -14,11 +14,9 @@ func000000000000000a: ret func0000000000000006: - sext.h a0, a0 - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 3 + srli a0, a0, 14 + andi a0, a0, 2 + addi a0, a0, 1 ret func0000000000000014: diff --git a/result/rvb23u64/345dcbbb30000b80.S b/result/rvb23u64/345dcbbb30000b80.S index 6583d28142e..0e47f5672b0 100644 --- a/result/rvb23u64/345dcbbb30000b80.S +++ b/result/rvb23u64/345dcbbb30000b80.S @@ -4,10 +4,8 @@ func000000000000000a: ret func0000000000000006: - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 3 + srli a0, a0, 62 + ori a0, a0, 1 ret func0000000000000024: diff --git a/result/rvb23u64/395541700b37d09c.S b/result/rvb23u64/395541700b37d09c.S index b1116295d66..45ff3879e13 100644 --- a/result/rvb23u64/395541700b37d09c.S +++ b/result/rvb23u64/395541700b37d09c.S @@ -154,10 +154,8 @@ func000000000000002c: ret func0000000000000144: - sext.w a1, a1 - slti a1, a1, 0 - li a2, -4 - czero.eqz a1, a2, a1 + sraiw a1, a1, 31 + andi a1, a1, -4 addi a1, a1, 20 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/401395461072f350.S b/result/rvb23u64/401395461072f350.S index a95f4647f32..4d91e256586 100644 --- a/result/rvb23u64/401395461072f350.S +++ b/result/rvb23u64/401395461072f350.S @@ -1,9 +1,8 @@ func0000000000000006: - addiw a0, a0, -1 - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 45 + addi a0, a0, -1 + srli a0, a0, 30 + andi a0, a0, 2 + addi a0, a0, 43 ret func0000000000000004: diff --git a/result/rvb23u64/51febd819a5a9be4.S b/result/rvb23u64/51febd819a5a9be4.S index b309cc8ff11..109ad1a08c6 100644 --- a/result/rvb23u64/51febd819a5a9be4.S +++ b/result/rvb23u64/51febd819a5a9be4.S @@ -34,11 +34,10 @@ func0000000000000023: ret func000000000000001a: - slti a1, a1, 0 - li a2, 16 - czero.nez a1, a2, a1 + srai a1, a1, 63 + andi a1, a1, -16 add a0, a0, a1 - addi a0, a0, -32 + addi a0, a0, -16 ret func0000000000000053: @@ -75,11 +74,9 @@ func0000000000000030: ret func000000000000001b: - slti a1, a1, 0 - li a2, -8 - czero.nez a1, a2, a1 - add a0, a0, a1 - addi a0, a0, 200 + srli a1, a1, 63 + sh3add a0, a1, a0 + addi a0, a0, 192 ret func0000000000000012: diff --git a/result/rvb23u64/5d54914eac0d26f6.S b/result/rvb23u64/5d54914eac0d26f6.S index 5874828c481..601272df18c 100644 --- a/result/rvb23u64/5d54914eac0d26f6.S +++ b/result/rvb23u64/5d54914eac0d26f6.S @@ -68,10 +68,8 @@ func0000000000000005: ret func0000000000000028: - sext.w a1, a1 - slti a1, a1, 0 - li a2, -8 - czero.eqz a1, a2, a1 + sraiw a1, a1, 31 + andi a1, a1, -8 addi a1, a1, 16 or a0, a0, a1 bseti a0, a0, 14 diff --git a/result/rvb23u64/5e2e12eaac9de488.S b/result/rvb23u64/5e2e12eaac9de488.S index ed609874455..2c640355677 100644 --- a/result/rvb23u64/5e2e12eaac9de488.S +++ b/result/rvb23u64/5e2e12eaac9de488.S @@ -104,12 +104,11 @@ func000000000000002b: ret func000000000000001a: - sext.b a1, a1 - slti a1, a1, 0 - li a2, 32 - czero.nez a1, a2, a1 + slli a1, a1, 56 + srai a1, a1, 63 + andi a1, a1, -32 add a0, a0, a1 - addi a0, a0, -448 + addi a0, a0, -416 ret func0000000000000020: diff --git a/result/rvb23u64/6947aef2ad8b684b.S b/result/rvb23u64/6947aef2ad8b684b.S index 6e92b4868ae..298518d26a0 100644 --- a/result/rvb23u64/6947aef2ad8b684b.S +++ b/result/rvb23u64/6947aef2ad8b684b.S @@ -198,12 +198,10 @@ func0000000000000060: ret func000000000000001b: - sext.w a1, a1 - slti a1, a1, 0 - li a2, 24 - czero.nez a1, a2, a1 + sraiw a1, a1, 31 + andi a1, a1, -24 add a0, a0, a1 - addiw a0, a0, 88 + addiw a0, a0, 112 ret func0000000000000012: diff --git a/result/rvb23u64/6b439a76e52ff1fa.S b/result/rvb23u64/6b439a76e52ff1fa.S index f53193d2d92..1e0cb5876c0 100644 --- a/result/rvb23u64/6b439a76e52ff1fa.S +++ b/result/rvb23u64/6b439a76e52ff1fa.S @@ -5,10 +5,9 @@ func0000000000000001: ret func0000000000000006: - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 45 + srli a0, a0, 62 + andi a0, a0, 2 + addi a0, a0, 43 ret func0000000000000014: diff --git a/result/rvb23u64/6bfe3b931a8e61c6.S b/result/rvb23u64/6bfe3b931a8e61c6.S index 1ed0ce31f94..cc6f2661971 100644 --- a/result/rvb23u64/6bfe3b931a8e61c6.S +++ b/result/rvb23u64/6bfe3b931a8e61c6.S @@ -54,10 +54,8 @@ func000000000000008c: ret func00000000000000a0: - sext.h a2, a2 - li a3, 8 - slti a2, a2, 0 - czero.eqz a2, a3, a2 + srli a2, a2, 12 + andi a2, a2, 8 add a0, a0, a1 add a0, a0, a2 addi a0, a0, 8 diff --git a/result/rvb23u64/6e06b1bc35e31ac3.S b/result/rvb23u64/6e06b1bc35e31ac3.S index 48a40193f45..4712066601b 100644 --- a/result/rvb23u64/6e06b1bc35e31ac3.S +++ b/result/rvb23u64/6e06b1bc35e31ac3.S @@ -168,12 +168,10 @@ func00000000000000d4: ret func0000000000000144: - sext.w a1, a0 - li a2, 24 + sraiw a1, a0, 31 srliw a0, a0, 19 - slti a1, a1, 0 - czero.eqz a1, a2, a1 li a2, 12 + andi a1, a1, 24 addi a1, a1, 36 czero.nez a2, a2, a0 czero.eqz a0, a1, a0 diff --git a/result/rvb23u64/7134c4263f51cc6b.S b/result/rvb23u64/7134c4263f51cc6b.S index d76f2abefa9..373aa848bc5 100644 --- a/result/rvb23u64/7134c4263f51cc6b.S +++ b/result/rvb23u64/7134c4263f51cc6b.S @@ -300,12 +300,10 @@ func0000000000000081: ret func0000000000000144: - sext.w a1, a0 - li a2, 12 + sraiw a1, a0, 31 srliw a0, a0, 19 - slti a1, a1, 0 - czero.eqz a1, a2, a1 li a2, 6 + andi a1, a1, 12 addi a1, a1, 18 czero.nez a2, a2, a0 czero.eqz a0, a1, a0 diff --git a/result/rvb23u64/7857b46393ef282f.S b/result/rvb23u64/7857b46393ef282f.S index 3d5d6a19c29..a75d26c09a0 100644 --- a/result/rvb23u64/7857b46393ef282f.S +++ b/result/rvb23u64/7857b46393ef282f.S @@ -18,9 +18,8 @@ func0000000000000014: ret func000000000000000a: - slti a0, a0, 0 - li a1, -128 - czero.eqz a0, a1, a0 + srai a0, a0, 63 + andi a0, a0, -128 addi a0, a0, 406 ret diff --git a/result/rvb23u64/7eb995cf47f6f958.S b/result/rvb23u64/7eb995cf47f6f958.S index f5be10a9482..b476849424a 100644 --- a/result/rvb23u64/7eb995cf47f6f958.S +++ b/result/rvb23u64/7eb995cf47f6f958.S @@ -29,11 +29,10 @@ func0000000000000099: add a1, a1, a2 slli a2, a1, 3 subw a1, a1, a2 - addw a0, a0, a1 - slti a1, a0, 0 - li a2, -7 - czero.nez a1, a2, a1 add a0, a0, a1 - addiw a0, a0, 8 + sraiw a1, a0, 31 + andi a1, a1, 7 + add a0, a0, a1 + addiw a0, a0, 1 ret diff --git a/result/rvb23u64/80b84e7020c8a860.S b/result/rvb23u64/80b84e7020c8a860.S index c8f92bf860c..2f143f79d8f 100644 --- a/result/rvb23u64/80b84e7020c8a860.S +++ b/result/rvb23u64/80b84e7020c8a860.S @@ -52,12 +52,10 @@ func0000000000000030: func0000000000000028: andi a0, a0, 1 - sext.w a2, a2 + sraiw a2, a2, 31 lui a3, 4 + andi a2, a2, -8 czero.nez a0, a3, a0 - li a3, -8 - slti a2, a2, 0 - czero.eqz a2, a3, a2 addi a2, a2, 16 or a0, a0, a1 or a0, a0, a2 diff --git a/result/rvb23u64/80c34d7edaba15dc.S b/result/rvb23u64/80c34d7edaba15dc.S index 29759177f45..f5b6e38b2ec 100644 --- a/result/rvb23u64/80c34d7edaba15dc.S +++ b/result/rvb23u64/80c34d7edaba15dc.S @@ -31,21 +31,17 @@ func0000000000000007: ret func000000000000001b: - sext.w a1, a1 - slti a1, a1, 0 - li a2, 8 - czero.nez a1, a2, a1 + sraiw a1, a1, 31 + andi a1, a1, -8 add a0, a0, a1 - addi a0, a0, 16 + addi a0, a0, 24 ret func0000000000000018: - sext.w a1, a1 - slti a1, a1, 0 - li a2, -8 - czero.nez a1, a2, a1 + srli a1, a1, 28 + andi a1, a1, 8 add a0, a0, a1 - addi a0, a0, 24 + addi a0, a0, 16 ret func0000000000000006: diff --git a/result/rvb23u64/80ebb1c540de067d.S b/result/rvb23u64/80ebb1c540de067d.S index 90633ab3ec1..929b1d36432 100644 --- a/result/rvb23u64/80ebb1c540de067d.S +++ b/result/rvb23u64/80ebb1c540de067d.S @@ -16,9 +16,8 @@ func0000000000000006: ret func000000000000000a: - slti a0, a0, 0 - li a1, 8 - czero.eqz a0, a1, a0 + srli a0, a0, 60 + andi a0, a0, 8 addi a0, a0, 8 ret diff --git a/result/rvb23u64/84467e284bd1d162.S b/result/rvb23u64/84467e284bd1d162.S index 3768a496f9b..d982f8c8e8f 100644 --- a/result/rvb23u64/84467e284bd1d162.S +++ b/result/rvb23u64/84467e284bd1d162.S @@ -109,14 +109,12 @@ func000000000000006e: ret func000000000000006f: - sext.w a2, a2 - li a3, 1024 + sraiw a2, a2, 31 slli a0, a0, 5 - slti a2, a2, 0 - czero.nez a2, a3, a2 + andi a2, a2, -1024 add a0, a0, a1 add a0, a0, a2 - addi a0, a0, 8 + addi a0, a0, 1032 ret func00000000000000ae: diff --git a/result/rvb23u64/87a11ae39ab111d2.S b/result/rvb23u64/87a11ae39ab111d2.S index b47a70c9c4e..1b4e489afd3 100644 --- a/result/rvb23u64/87a11ae39ab111d2.S +++ b/result/rvb23u64/87a11ae39ab111d2.S @@ -80,12 +80,10 @@ func0000000000000086: func0000000000000364: sext.w a0, a0 - sext.b a2, a2 - slti a2, a2, 0 - li a3, -8 - czero.nez a2, a3, a2 + srli a2, a2, 4 + andi a2, a2, 8 add a1, a1, a2 - addiw a1, a1, 9 + addiw a1, a1, 1 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/87d97b61ecb24bfd.S b/result/rvb23u64/87d97b61ecb24bfd.S index 34b1feac99f..384402c105f 100644 --- a/result/rvb23u64/87d97b61ecb24bfd.S +++ b/result/rvb23u64/87d97b61ecb24bfd.S @@ -7,11 +7,10 @@ func0000000000000001: ret func00000000000001e6: - sext.w a0, a0 - slti a0, a0, 0 - li a2, 24 - czero.eqz a0, a2, a0 - add a0, a0, a1 + slli a0, a0, 32 + srai a0, a0, 4 + srli a0, a0, 62 + sh3add a0, a0, a1 addi a0, a0, 8 ret diff --git a/result/rvb23u64/8abe41c126c6985d.S b/result/rvb23u64/8abe41c126c6985d.S index 2ddf5beef0c..a782f9d9b08 100644 --- a/result/rvb23u64/8abe41c126c6985d.S +++ b/result/rvb23u64/8abe41c126c6985d.S @@ -54,10 +54,9 @@ func0000000000000008: ret func0000000000000006: - addw a0, a0, a1 - slti a0, a0, 0 - li a1, 128 - czero.nez a0, a1, a0 - addi a0, a0, 1 + add a0, a0, a1 + sraiw a0, a0, 31 + andi a0, a0, -128 + addi a0, a0, 129 ret diff --git a/result/rvb23u64/8e9411e426077016.S b/result/rvb23u64/8e9411e426077016.S index 3f34518ff37..392e4f1c68d 100644 --- a/result/rvb23u64/8e9411e426077016.S +++ b/result/rvb23u64/8e9411e426077016.S @@ -58,11 +58,9 @@ func0000000000000014: func0000000000000006: andi a0, a0, 1 - sext.w a2, a2 - li a3, -2 - slti a2, a2, 0 - czero.nez a2, a3, a2 - addi a2, a2, 3 + srli a2, a2, 30 + andi a2, a2, 2 + addi a2, a2, 1 czero.nez a1, a1, a0 czero.eqz a0, a2, a0 or a0, a0, a1 diff --git a/result/rvb23u64/906b50de8a20ea20.S b/result/rvb23u64/906b50de8a20ea20.S index b0ddf14be0a..089c1ea937d 100644 --- a/result/rvb23u64/906b50de8a20ea20.S +++ b/result/rvb23u64/906b50de8a20ea20.S @@ -5,11 +5,9 @@ func0000000000000001: ret func0000000000000006: - sext.w a0, a0 - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 45 + srli a0, a0, 30 + andi a0, a0, 2 + addi a0, a0, 43 ret func0000000000000014: diff --git a/result/rvb23u64/935ada163d515412.S b/result/rvb23u64/935ada163d515412.S index 1b28f1e9df4..001d1e64e1a 100644 --- a/result/rvb23u64/935ada163d515412.S +++ b/result/rvb23u64/935ada163d515412.S @@ -25,10 +25,10 @@ func000000000000004a: func0000000000000006: addi a0, a0, -19 - sext.b a0, a0 - slti a0, a0, 0 - li a1, 126 - czero.eqz a0, a1, a0 + slli a0, a0, 56 + srai a0, a0, 6 + srli a0, a0, 58 + slli a0, a0, 1 addi a0, a0, 1 ret diff --git a/result/rvb23u64/94db6b56b3eba5fd.S b/result/rvb23u64/94db6b56b3eba5fd.S index cd3571d57c9..fe4199ca256 100644 --- a/result/rvb23u64/94db6b56b3eba5fd.S +++ b/result/rvb23u64/94db6b56b3eba5fd.S @@ -44,11 +44,9 @@ func0000000000000010: func000000000000002b: andi a1, a1, 1 - sext.w a2, a2 - li a3, 24 - slti a2, a2, 0 - czero.eqz a2, a3, a2 + sraiw a2, a2, 31 li a3, 12 + andi a2, a2, 24 addi a2, a2, 36 czero.eqz a3, a3, a1 czero.nez a1, a2, a1 diff --git a/result/rvb23u64/95c5bb2bd3e2a937.S b/result/rvb23u64/95c5bb2bd3e2a937.S index 4ecce811afe..3c76e6d3169 100644 --- a/result/rvb23u64/95c5bb2bd3e2a937.S +++ b/result/rvb23u64/95c5bb2bd3e2a937.S @@ -35,12 +35,10 @@ func000000000000002c: func00000000000000c1: sext.w a0, a0 - sext.w a1, a1 - li a2, 33 - slti a1, a1, 0 - czero.nez a1, a2, a1 + sraiw a1, a1, 31 li a2, 328 - addi a1, a1, 328 + andi a1, a1, -33 + addi a1, a1, 361 czero.eqz a2, a2, a0 czero.nez a0, a1, a0 or a0, a0, a2 diff --git a/result/rvb23u64/9d31675b8f592e71.S b/result/rvb23u64/9d31675b8f592e71.S index 02bbabb887c..145e6ffa17a 100644 --- a/result/rvb23u64/9d31675b8f592e71.S +++ b/result/rvb23u64/9d31675b8f592e71.S @@ -62,11 +62,9 @@ func0000000000000024: func00000000000000c6: sext.w a0, a0 - sext.w a1, a1 - li a2, 4 - slti a1, a1, 0 - czero.nez a1, a2, a1 - addi a1, a1, 4 + sraiw a1, a1, 31 + andi a1, a1, -4 + addi a1, a1, 8 slti a0, a0, 0 czero.nez a0, a1, a0 ret diff --git a/result/rvb23u64/9e07325e9df8ca72.S b/result/rvb23u64/9e07325e9df8ca72.S index 7e9e852659d..f393bc3652d 100644 --- a/result/rvb23u64/9e07325e9df8ca72.S +++ b/result/rvb23u64/9e07325e9df8ca72.S @@ -23,10 +23,8 @@ func0000000000000011: ret func000000000000000d: - sext.w a0, a0 - slti a0, a0, 0 - li a1, 8 - czero.nez a0, a1, a0 - addi a0, a0, 4 + sraiw a0, a0, 31 + andi a0, a0, -8 + addi a0, a0, 12 ret diff --git a/result/rvb23u64/a725b786bd1c53e6.S b/result/rvb23u64/a725b786bd1c53e6.S index 3cb20bed40d..78beb39b1ea 100644 --- a/result/rvb23u64/a725b786bd1c53e6.S +++ b/result/rvb23u64/a725b786bd1c53e6.S @@ -33,12 +33,10 @@ func00000000000000af: ret func000000000000006b: - sext.w a1, a1 - slti a1, a1, 0 - li a2, 8 - czero.nez a1, a2, a1 + sraiw a1, a1, 31 + andi a1, a1, -8 add a0, a0, a1 - addi a0, a0, 8 + addi a0, a0, 16 ret func00000000000000cf: diff --git a/result/rvb23u64/aa521b7d2b3231ca.S b/result/rvb23u64/aa521b7d2b3231ca.S index f42f82b0e55..8255df671a8 100644 --- a/result/rvb23u64/aa521b7d2b3231ca.S +++ b/result/rvb23u64/aa521b7d2b3231ca.S @@ -34,11 +34,9 @@ func0000000000000004: ret func0000000000000006: - sext.h a0, a0 - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 3 + srli a0, a0, 14 + andi a0, a0, 2 + addi a0, a0, 1 ret func000000000000000c: diff --git a/result/rvb23u64/aa5f3238ba76102a.S b/result/rvb23u64/aa5f3238ba76102a.S index 15f995894d4..718a4373c18 100644 --- a/result/rvb23u64/aa5f3238ba76102a.S +++ b/result/rvb23u64/aa5f3238ba76102a.S @@ -108,10 +108,8 @@ func000000000000004f: ret func00000000000000a0: - sext.w a2, a2 - li a3, 8 - slti a2, a2, 0 - czero.eqz a2, a3, a2 + srli a2, a2, 28 + andi a2, a2, 8 sh2add a0, a1, a0 add a0, a0, a2 addi a0, a0, -4 @@ -135,14 +133,12 @@ func0000000000000018: ret func000000000000006b: - sext.w a2, a2 - li a3, -4 + srli a2, a2, 29 sh2add a1, a1, a1 - slti a2, a2, 0 - czero.nez a2, a3, a2 + andi a2, a2, 4 sh2add a0, a1, a0 add a0, a0, a2 - addi a0, a0, 8 + addi a0, a0, 4 ret func00000000000000c0: diff --git a/result/rvb23u64/b3eb591136bbb9c8.S b/result/rvb23u64/b3eb591136bbb9c8.S index 71d9cf54140..d4f9ffff7d6 100644 --- a/result/rvb23u64/b3eb591136bbb9c8.S +++ b/result/rvb23u64/b3eb591136bbb9c8.S @@ -64,10 +64,9 @@ func0000000000000026: add a1, a1, a2 slli a2, a1, 3 subw a1, a1, a2 - addw a0, a0, a1 - slti a0, a0, 0 - li a1, -7 - czero.nez a0, a1, a0 - addi a0, a0, 8 + add a0, a0, a1 + sraiw a0, a0, 31 + andi a0, a0, 7 + addi a0, a0, 1 ret diff --git a/result/rvb23u64/c432ecd561a91f95.S b/result/rvb23u64/c432ecd561a91f95.S index 75eceaddb67..b37c0d8d3cf 100644 --- a/result/rvb23u64/c432ecd561a91f95.S +++ b/result/rvb23u64/c432ecd561a91f95.S @@ -43,11 +43,9 @@ func000000000000002a: func000000000000001b: sub a1, a1, a2 - slti a1, a1, 0 - li a2, -8 - czero.nez a1, a2, a1 - add a0, a0, a1 - addi a0, a0, 16 + srli a1, a1, 63 + sh3add a0, a1, a0 + addi a0, a0, 8 ret func000000000000001a: diff --git a/result/rvb23u64/c4d8630b6e009796.S b/result/rvb23u64/c4d8630b6e009796.S index 33de0782110..697b038e58e 100644 --- a/result/rvb23u64/c4d8630b6e009796.S +++ b/result/rvb23u64/c4d8630b6e009796.S @@ -58,12 +58,10 @@ func00000000000000a4: ret func0000000000000065: - sext.w a1, a0 - slti a1, a1, 0 - li a2, -7 - czero.nez a1, a2, a1 + sraiw a1, a0, 31 + andi a1, a1, 7 add a0, a0, a1 - addiw a0, a0, 8 + addiw a0, a0, 1 ret func0000000000000185: diff --git a/result/rvb23u64/c7889703b537ef18.S b/result/rvb23u64/c7889703b537ef18.S index 94e33404f25..9f271fc17b8 100644 --- a/result/rvb23u64/c7889703b537ef18.S +++ b/result/rvb23u64/c7889703b537ef18.S @@ -98,10 +98,8 @@ func0000000000000033: ret func0000000000000028: - sext.h a1, a1 - slti a1, a1, 0 - li a2, 8 - czero.eqz a1, a2, a1 + srli a1, a1, 12 + andi a1, a1, 8 add a0, a0, a1 addi a0, a0, 8 ret diff --git a/result/rvb23u64/da332d312d928f4f.S b/result/rvb23u64/da332d312d928f4f.S index 695408325ac..dbd7668db66 100644 --- a/result/rvb23u64/da332d312d928f4f.S +++ b/result/rvb23u64/da332d312d928f4f.S @@ -80,10 +80,8 @@ func0000000000000040: ret func00000000000000af: - sext.b a1, a1 - slti a1, a1, 0 - li a2, 2 - czero.eqz a1, a2, a1 + srli a1, a1, 6 + andi a1, a1, 2 add a0, a0, a1 addi a0, a0, 2 ret diff --git a/result/rvb23u64/db9585d504767b1b.S b/result/rvb23u64/db9585d504767b1b.S index 7ae85783ac0..82ba247cd29 100644 --- a/result/rvb23u64/db9585d504767b1b.S +++ b/result/rvb23u64/db9585d504767b1b.S @@ -373,11 +373,9 @@ func0000000000000094: func00000000000000d8: sext.w a0, a0 - sext.w a1, a1 - slti a1, a1, 0 - li a2, 28 - czero.nez a1, a2, a1 - addi a1, a1, 4 + sraiw a1, a1, 31 + andi a1, a1, -28 + addi a1, a1, 32 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/dd1a3ff137040473.S b/result/rvb23u64/dd1a3ff137040473.S index edcc9714b3f..357e10c4154 100644 --- a/result/rvb23u64/dd1a3ff137040473.S +++ b/result/rvb23u64/dd1a3ff137040473.S @@ -15,11 +15,10 @@ func0000000000000008: ret func0000000000000006: - sext.h a0, a0 - slti a0, a0, 0 - li a1, 8 - czero.nez a0, a1, a0 - addi a0, a0, 8 + slli a0, a0, 48 + srai a0, a0, 63 + andi a0, a0, -8 + addi a0, a0, 16 ret func0000000000000004: diff --git a/result/rvb23u64/e219969d5415b57e.S b/result/rvb23u64/e219969d5415b57e.S index 68ed9059b32..9e5e0874810 100644 --- a/result/rvb23u64/e219969d5415b57e.S +++ b/result/rvb23u64/e219969d5415b57e.S @@ -1,9 +1,7 @@ func0000000000000026: - sext.w a0, a0 - slti a0, a0, 0 - li a1, -2 - czero.nez a0, a1, a0 - addi a0, a0, 3 + srli a0, a0, 30 + andi a0, a0, 2 + addi a0, a0, 1 ret func0000000000000024: diff --git a/result/rvb23u64/e259dfa6043624a5.S b/result/rvb23u64/e259dfa6043624a5.S index c4d631f6676..fa8167a1bfc 100644 --- a/result/rvb23u64/e259dfa6043624a5.S +++ b/result/rvb23u64/e259dfa6043624a5.S @@ -13,10 +13,9 @@ func000000000000000c: ret func000000000000000a: - sext.b a0, a0 - slti a0, a0, 0 - li a1, -16 - czero.eqz a0, a1, a0 + slli a0, a0, 56 + srai a0, a0, 63 + andi a0, a0, -16 addi a0, a0, 31 ret diff --git a/result/rvb23u64/ec51eb8b57695230.S b/result/rvb23u64/ec51eb8b57695230.S index d894613c714..09f8b737e52 100644 --- a/result/rvb23u64/ec51eb8b57695230.S +++ b/result/rvb23u64/ec51eb8b57695230.S @@ -35,10 +35,8 @@ func0000000000000008: ret func0000000000000006: - sext.w a0, a0 - slti a0, a0, 0 - li a1, 8 - czero.eqz a0, a1, a0 + srli a0, a0, 28 + andi a0, a0, 8 addi a0, a0, 24 ret diff --git a/result/rvb23u64/ed61feb109cbda25.S b/result/rvb23u64/ed61feb109cbda25.S index 6fb1c659333..fbf483c699b 100644 --- a/result/rvb23u64/ed61feb109cbda25.S +++ b/result/rvb23u64/ed61feb109cbda25.S @@ -154,12 +154,10 @@ func0000000000000043: ret func000000000000006f: - sext.w a1, a1 - slti a1, a1, 0 - li a2, -32 - czero.nez a1, a2, a1 + srliw a1, a1, 31 + slli a1, a1, 5 add a0, a0, a1 - addi a0, a0, 280 + addi a0, a0, 248 ret func000000000000004a: diff --git a/result/rvb23u64/ed73a84596f6912e.S b/result/rvb23u64/ed73a84596f6912e.S index bbd7b79094e..7ddd1db4262 100644 --- a/result/rvb23u64/ed73a84596f6912e.S +++ b/result/rvb23u64/ed73a84596f6912e.S @@ -127,12 +127,10 @@ func0000000000000010: ret func000000000000001b: - sext.b a1, a1 - slti a1, a1, 0 - li a2, -8 - czero.nez a1, a2, a1 + srli a1, a1, 4 + andi a1, a1, 8 add a0, a0, a1 - addiw a0, a0, 9 + addiw a0, a0, 1 ret func0000000000000061: diff --git a/result/rvb23u64/ef917d2cc51cdf2a.S b/result/rvb23u64/ef917d2cc51cdf2a.S index 0b84c88a083..25c6621b823 100644 --- a/result/rvb23u64/ef917d2cc51cdf2a.S +++ b/result/rvb23u64/ef917d2cc51cdf2a.S @@ -23,11 +23,10 @@ func000000000000000a: ret func0000000000000006: - sext.h a0, a0 - slti a0, a0, 0 - li a1, 8 - czero.nez a0, a1, a0 - addi a0, a0, 8 + slli a0, a0, 48 + srai a0, a0, 63 + andi a0, a0, -8 + addi a0, a0, 16 ret func0000000000000008: diff --git a/result/rvb23u64/f2057a4827b51c4d.S b/result/rvb23u64/f2057a4827b51c4d.S index eb46e2de520..734c42e356f 100644 --- a/result/rvb23u64/f2057a4827b51c4d.S +++ b/result/rvb23u64/f2057a4827b51c4d.S @@ -16,11 +16,10 @@ func00000000000000a5: func0000000000000065: subw a0, a0, a1 - slti a1, a0, 0 - li a2, -7 - czero.nez a1, a2, a1 + sraiw a1, a0, 31 + andi a1, a1, 7 add a0, a0, a1 - addiw a0, a0, 8 + addiw a0, a0, 1 ret func0000000000000061: diff --git a/result/rvb23u64/f5af40bce3b61c77.S b/result/rvb23u64/f5af40bce3b61c77.S index 5a9c56faf0e..0ceb1658251 100644 --- a/result/rvb23u64/f5af40bce3b61c77.S +++ b/result/rvb23u64/f5af40bce3b61c77.S @@ -83,10 +83,8 @@ func0000000000000007: ret func000000000000002b: - slti a1, a1, 0 - li a2, 4 - czero.eqz a1, a2, a1 - add a0, a0, a1 + srli a1, a1, 63 + sh2add a0, a1, a0 addiw a0, a0, 5 ret diff --git a/result/rvb23u64/f782469698601fa5.S b/result/rvb23u64/f782469698601fa5.S index b1b4a8022cc..4148515421e 100644 --- a/result/rvb23u64/f782469698601fa5.S +++ b/result/rvb23u64/f782469698601fa5.S @@ -39,14 +39,12 @@ func0000000000000078: ret func00000000000001bf: - sext.w a2, a2 - li a3, 1024 + sraiw a2, a2, 31 slli a0, a0, 5 - slti a2, a2, 0 - czero.nez a2, a3, a2 + andi a2, a2, -1024 add a0, a0, a1 add a0, a0, a2 - addi a0, a0, 24 + addi a0, a0, 1048 ret func000000000000007f: diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index d8d993d1b31..287321478fa 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID="llvm/llvm-project/pull/125772" # Please rebase manually # git fetch origin