-
-
Save asb/88ec8c5b0c18528f3e571cc90c5d7a19 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/output_rv64imafdc_lp64_O0/20140622-1.s b/output_rv64imafdc_lp64_O0/20140622-1.s | |
index fb866edf04..6de9373fe4 100644 | |
--- a/output_rv64imafdc_lp64_O0/20140622-1.s | |
+++ b/output_rv64imafdc_lp64_O0/20140622-1.s | |
@@ -14,11 +14,13 @@ test: # @test | |
# kill: def $x11 killed $x10 | |
sw a0, -20(s0) | |
lui a0, %hi(p) | |
- lwu a1, %lo(p)(a0) | |
+ lw a1, %lo(p)(a0) | |
lw a0, -20(s0) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ld ra, 24(sp) # 8-byte Folded Reload | |
ld s0, 16(sp) # 8-byte Folded Reload | |
diff --git a/output_rv64imafdc_lp64_O0/loop-2.s b/output_rv64imafdc_lp64_O0/loop-2.s | |
index d1868065b9..8589e2f437 100644 | |
--- a/output_rv64imafdc_lp64_O0/loop-2.s | |
+++ b/output_rv64imafdc_lp64_O0/loop-2.s | |
@@ -24,11 +24,12 @@ f: # @f | |
j .LBB0_2 | |
.LBB0_2: # %for.body | |
# in Loop: Header=BB0_1 Depth=1 | |
- lwu a1, -28(s0) | |
- addiw a0, a1, -2 | |
- slli a2, a1, 2 | |
+ lw a2, -28(s0) | |
+ addiw a0, a2, -2 | |
lui a1, %hi(a) | |
addi a1, a1, %lo(a) | |
+ slli a2, a2, 32 | |
+ srli a2, a2, 30 | |
add a1, a1, a2 | |
sw a0, 0(a1) | |
j .LBB0_3 | |
diff --git a/output_rv64imafdc_lp64_O0/memcpy-1.s b/output_rv64imafdc_lp64_O0/memcpy-1.s | |
index 88ddd9a854..a996ff67b2 100644 | |
--- a/output_rv64imafdc_lp64_O0/memcpy-1.s | |
+++ b/output_rv64imafdc_lp64_O0/memcpy-1.s | |
@@ -53,11 +53,13 @@ main: # @main | |
j .LBB1_2 | |
.LBB1_2: # %for.body | |
# in Loop: Header=BB1_1 Depth=1 | |
- lwu a0, -32(s0) | |
+ lw a0, -32(s0) | |
+ slli a1, a0, 32 | |
+ srli a2, a1, 32 | |
lui a1, 1048544 | |
addiw a1, a1, -32 | |
add a1, a1, s0 | |
- add a1, a1, a0 | |
+ add a1, a1, a2 | |
sb a0, 0(a1) | |
lwu a1, -32(s0) | |
lui a0, 1048512 | |
@@ -93,11 +95,13 @@ main: # @main | |
j .LBB1_6 | |
.LBB1_6: # %for.body7 | |
# in Loop: Header=BB1_5 Depth=1 | |
- lwu a1, -32(s0) | |
+ lw a1, -32(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 32 | |
lui a0, 1048512 | |
addiw a0, a0, -32 | |
add a0, a0, s0 | |
- add a0, a0, a1 | |
+ add a0, a0, a2 | |
lbu a0, 0(a0) | |
andi a1, a1, 255 | |
beq a0, a1, .LBB1_8 | |
@@ -171,11 +175,13 @@ main: # @main | |
j .LBB1_18 | |
.LBB1_18: # %for.body38 | |
# in Loop: Header=BB1_17 Depth=1 | |
- lwu a1, -32(s0) | |
+ lw a1, -32(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 32 | |
lui a0, 1048512 | |
addiw a0, a0, -32 | |
add a0, a0, s0 | |
- add a0, a0, a1 | |
+ add a0, a0, a2 | |
lbu a0, 0(a0) | |
andi a1, a1, 255 | |
beq a0, a1, .LBB1_20 | |
@@ -256,11 +262,13 @@ main: # @main | |
j .LBB1_30 | |
.LBB1_30: # %for.body71 | |
# in Loop: Header=BB1_29 Depth=1 | |
- lwu a1, -32(s0) | |
+ lw a1, -32(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 32 | |
lui a0, 1048512 | |
addiw a0, a0, -32 | |
add a0, a0, s0 | |
- add a0, a0, a1 | |
+ add a0, a0, a2 | |
lbu a0, 0(a0) | |
andi a1, a1, 255 | |
beq a0, a1, .LBB1_32 | |
@@ -323,11 +331,13 @@ main: # @main | |
j .LBB1_36 | |
.LBB1_36: # %for.body91 | |
# in Loop: Header=BB1_35 Depth=1 | |
- lwu a1, -32(s0) | |
+ lw a1, -32(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 32 | |
lui a0, 1048512 | |
addiw a0, a0, -32 | |
add a0, a0, s0 | |
- add a0, a0, a1 | |
+ add a0, a0, a2 | |
lbu a0, 0(a0) | |
andi a1, a1, 255 | |
beq a0, a1, .LBB1_38 | |
diff --git a/output_rv64imafdc_lp64_O0/pr22061-1.s b/output_rv64imafdc_lp64_O0/pr22061-1.s | |
index 8afd95f7b7..acaf8a29cd 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64_O0/pr22061-1.s | |
@@ -29,9 +29,11 @@ bar: # @bar | |
addi s0, sp, 32 | |
sd a0, -24(s0) | |
lui a0, %hi(N) | |
- lwu a0, %lo(N)(a0) | |
+ lw a0, %lo(N)(a0) | |
+ slli a1, a0, 32 | |
+ srli a2, a1, 32 | |
ld a1, -24(s0) | |
- add a1, a1, a0 | |
+ add a1, a1, a2 | |
sb a0, 0(a1) | |
ld ra, 24(sp) # 8-byte Folded Reload | |
ld s0, 16(sp) # 8-byte Folded Reload | |
diff --git a/output_rv64imafdc_lp64_O0/pr37573.s b/output_rv64imafdc_lp64_O0/pr37573.s | |
index 48df844a59..4c5b46eea9 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr37573.s | |
+++ b/output_rv64imafdc_lp64_O0/pr37573.s | |
@@ -88,7 +88,7 @@ bar: # @bar | |
lui a0, 1048575 | |
addiw a0, a0, 1540 | |
add a0, a0, s0 | |
- lwu a2, 0(a0) | |
+ lw a2, 0(a0) | |
lui a0, 1048575 | |
addiw a0, a0, 1528 | |
add a0, a0, s0 | |
@@ -97,14 +97,15 @@ bar: # @bar | |
slli a0, a0, 32 | |
srli a0, a0, 30 | |
add a0, a0, a1 | |
- lwu a3, 0(a0) | |
- srli a0, a3, 30 | |
+ lw a3, 0(a0) | |
+ srliw a0, a3, 30 | |
xor a0, a0, a3 | |
lui a3, 442489 | |
addiw a3, a3, -1691 | |
mulw a0, a0, a3 | |
addw a0, a0, a2 | |
- slli a2, a2, 2 | |
+ slli a2, a2, 32 | |
+ srli a2, a2, 30 | |
add a1, a1, a2 | |
sw a0, 0(a1) | |
j .LBB1_3 | |
@@ -191,15 +192,16 @@ foo: # @foo | |
.LBB2_3: # %for.body | |
# in Loop: Header=BB2_2 Depth=1 | |
ld a2, -40(s0) | |
- lwu a3, -44(s0) | |
- slli a0, a3, 2 | |
+ lw a3, -44(s0) | |
+ slli a0, a3, 32 | |
+ srli a0, a0, 30 | |
add a1, a2, a0 | |
lw a5, 0(a1) | |
addiw a0, a3, 1 | |
slli a0, a0, 32 | |
srli a0, a0, 30 | |
add a0, a0, a2 | |
- lwu a4, 0(a0) | |
+ lw a4, 0(a0) | |
xor a0, a5, a4 | |
lui a6, 524288 | |
addiw a6, a6, -2 | |
@@ -236,26 +238,26 @@ foo: # @foo | |
sd a1, 0(a2) | |
lw a0, 0(a0) | |
sw a0, -28(s0) | |
- lwu a0, -28(s0) | |
- srli a1, a0, 11 | |
+ lw a0, -28(s0) | |
+ srliw a1, a0, 11 | |
xor a0, a0, a1 | |
sw a0, -28(s0) | |
- lwu a0, -28(s0) | |
+ lw a0, -28(s0) | |
lui a1, 5030 | |
addiw a1, a1, -1875 | |
and a1, a1, a0 | |
slli a1, a1, 7 | |
xor a0, a0, a1 | |
sw a0, -28(s0) | |
- lwu a0, -28(s0) | |
+ lw a0, -28(s0) | |
lui a1, 30 | |
addiw a1, a1, -116 | |
and a1, a1, a0 | |
slli a1, a1, 15 | |
xor a0, a0, a1 | |
sw a0, -28(s0) | |
- lwu a0, -28(s0) | |
- srli a1, a0, 18 | |
+ lw a0, -28(s0) | |
+ srliw a1, a0, 18 | |
xor a0, a0, a1 | |
sw a0, -28(s0) | |
lwu a0, -28(s0) | |
diff --git a/output_rv64imafdc_lp64_O0/pr40493.s b/output_rv64imafdc_lp64_O0/pr40493.s | |
index de6fe0e223..29149b1f4e 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr40493.s | |
+++ b/output_rv64imafdc_lp64_O0/pr40493.s | |
@@ -52,8 +52,9 @@ main: # @main | |
.LBB0_1: # %if.then | |
call abort | |
.LBB0_2: # %if.end | |
- lhu a0, -62(s0) | |
- andi a0, a0, 1 | |
+ lw a0, -64(s0) | |
+ slli a0, a0, 47 | |
+ srli a0, a0, 63 | |
beqz a0, .LBB0_4 | |
j .LBB0_3 | |
.LBB0_3: # %if.then15 | |
diff --git a/output_rv64imafdc_lp64_O0/pr51581-2.s b/output_rv64imafdc_lp64_O0/pr51581-2.s | |
index 0a104e0d42..29103a43ae 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64_O0/pr51581-2.s | |
@@ -83,12 +83,12 @@ f2: # @f2 | |
lui a0, %hi(b) | |
addi a0, a0, %lo(b) | |
add a0, a0, a2 | |
- lwu a0, 0(a0) | |
- lui a1, 171 | |
- addiw a1, a1, -1365 | |
- slli a1, a1, 12 | |
- addi a1, a1, -1365 | |
- mul a1, a0, a1 | |
+ lw a0, 0(a0) | |
+ slli a1, a0, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a1, a1, a3 | |
srli a3, a1, 33 | |
slliw a1, a3, 1 | |
addw a1, a1, a3 | |
@@ -193,10 +193,12 @@ f4: # @f4 | |
lui a0, %hi(b) | |
addi a0, a0, %lo(b) | |
add a0, a0, a2 | |
- lwu a0, 0(a0) | |
- lui a1, 233017 | |
- addiw a1, a1, -455 | |
- mul a1, a0, a1 | |
+ lw a0, 0(a0) | |
+ slli a1, a0, 32 | |
+ lui a3, 233017 | |
+ addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
+ mulhu a1, a1, a3 | |
srli a1, a1, 34 | |
li a3, 18 | |
mulw a1, a1, a3 | |
@@ -301,12 +303,12 @@ f6: # @f6 | |
lui a0, %hi(b) | |
addi a0, a0, %lo(b) | |
add a0, a0, a2 | |
- lwu a0, 0(a0) | |
- lui a1, 175 | |
- addiw a1, a1, 647 | |
- slli a1, a1, 12 | |
- addi a1, a1, -1077 | |
- mul a1, a0, a1 | |
+ lw a0, 0(a0) | |
+ slli a1, a0, 32 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a3, a3, 32 | |
+ mulhu a1, a1, a3 | |
srli a3, a1, 32 | |
subw a1, a0, a3 | |
srliw a1, a1, 1 | |
@@ -814,12 +816,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -884,10 +886,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 233017 | |
- addiw a2, a2, -455 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 233017 | |
+ addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 18 | |
mulw a2, a2, a3 | |
@@ -952,12 +956,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 175 | |
- addiw a2, a2, 647 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1077 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -1026,12 +1030,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1096,10 +1100,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 233017 | |
- addiw a2, a2, -455 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 233017 | |
+ addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 18 | |
mulw a2, a2, a3 | |
@@ -1164,12 +1170,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 175 | |
- addiw a2, a2, 647 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1077 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
diff --git a/output_rv64imafdc_lp64_O0/pr53645.s b/output_rv64imafdc_lp64_O0/pr53645.s | |
index 9f6f143909..854ac29016 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr53645.s | |
+++ b/output_rv64imafdc_lp64_O0/pr53645.s | |
@@ -1372,12 +1372,12 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1392,12 +1392,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1417,12 +1417,12 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 8(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1437,12 +1437,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 4(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1552,12 +1552,12 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 6 | |
mulw a2, a2, a3 | |
@@ -1572,12 +1572,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 205 | |
- addiw a2, a2, -819 | |
- slli a2, a2, 12 | |
- addi a2, a2, -819 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 838861 | |
+ addiw a3, a3, -819 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 34 | |
slliw a2, a3, 2 | |
addw a2, a2, a3 | |
@@ -1597,12 +1597,12 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 8(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 6 | |
mulw a2, a2, a3 | |
@@ -1617,12 +1617,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- lui a2, 205 | |
- addiw a2, a2, -819 | |
- slli a2, a2, 12 | |
- addi a2, a2, -819 | |
- mul a2, a1, a2 | |
+ lw a1, 4(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 838861 | |
+ addiw a3, a3, -819 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 34 | |
slliw a2, a3, 2 | |
addw a2, a2, a3 | |
@@ -1732,8 +1732,8 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- srli a2, a1, 1 | |
+ lw a1, 0(a1) | |
+ srliw a2, a1, 1 | |
lui a3, 299593 | |
slli a3, a3, 1 | |
addi a3, a3, 1171 | |
@@ -1752,12 +1752,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 6 | |
mulw a2, a2, a3 | |
@@ -1777,8 +1777,8 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- srli a2, a1, 1 | |
+ lw a1, 8(a1) | |
+ srliw a2, a1, 1 | |
lui a3, 299593 | |
slli a3, a3, 1 | |
addi a3, a3, 1171 | |
@@ -1797,8 +1797,8 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- srli a2, a1, 1 | |
+ lw a1, 4(a1) | |
+ srliw a2, a1, 1 | |
lui a3, 299593 | |
slli a3, a3, 1 | |
addi a3, a3, 1171 | |
@@ -1828,10 +1828,12 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a1, a1, a2 | |
srliw a1, a1, 1 | |
@@ -1847,10 +1849,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a1, a1, a2 | |
srliw a1, a1, 1 | |
@@ -1871,10 +1875,12 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 8(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a1, a1, a2 | |
srliw a1, a1, 1 | |
@@ -1890,10 +1896,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 4(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a1, a1, a2 | |
srliw a1, a1, 1 | |
@@ -1920,10 +1928,12 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -1942,10 +1952,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -1969,10 +1981,12 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 8(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -1991,10 +2005,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 4(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -2231,8 +2247,8 @@ main: # @main | |
addi a1, a1, %lo(s) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- srli a2, a1, 31 | |
+ lw a1, 8(a1) | |
+ srliw a2, a1, 31 | |
addw a1, a1, a2 | |
sraiw a1, a1, 1 | |
bne a0, a1, .LBB24_95 | |
@@ -2297,8 +2313,8 @@ main: # @main | |
addi a1, a1, %lo(s) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- srli a2, a1, 31 | |
+ lw a1, 8(a1) | |
+ srliw a2, a1, 31 | |
add a2, a2, a1 | |
andi a2, a2, -2 | |
subw a1, a1, a2 | |
diff --git a/output_rv64imafdc_lp64_O0/pr65401.s b/output_rv64imafdc_lp64_O0/pr65401.s | |
index 0d1ed420e0..2a3022dd2a 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr65401.s | |
+++ b/output_rv64imafdc_lp64_O0/pr65401.s | |
@@ -26,13 +26,13 @@ foo: # @foo | |
.LBB0_2: # %for.body | |
# in Loop: Header=BB0_1 Depth=1 | |
ld a1, -40(s0) | |
- lwu a0, -28(s0) | |
- slli a2, a0, 1 | |
- slli a0, a2, 32 | |
+ lw a2, -28(s0) | |
+ slli a3, a2, 1 | |
+ slli a0, a3, 32 | |
srli a0, a0, 32 | |
add a0, a0, a1 | |
lbu a0, 0(a0) | |
- ori a3, a2, 1 | |
+ ori a3, a3, 1 | |
slli a3, a3, 32 | |
srli a3, a3, 32 | |
add a1, a1, a3 | |
@@ -40,6 +40,8 @@ foo: # @foo | |
slli a1, a1, 8 | |
or a0, a0, a1 | |
ld a1, -24(s0) | |
+ slli a2, a2, 32 | |
+ srli a2, a2, 31 | |
add a1, a1, a2 | |
sh a0, 0(a1) | |
j .LBB0_3 | |
@@ -81,20 +83,22 @@ bar: # @bar | |
.LBB1_2: # %for.body | |
# in Loop: Header=BB1_1 Depth=1 | |
ld a1, -40(s0) | |
- lwu a0, -28(s0) | |
- slli a2, a0, 1 | |
- slli a0, a2, 32 | |
+ lw a2, -28(s0) | |
+ slli a3, a2, 1 | |
+ slli a0, a3, 32 | |
srli a0, a0, 32 | |
add a0, a0, a1 | |
lb a0, 0(a0) | |
slli a0, a0, 8 | |
- ori a3, a2, 1 | |
+ ori a3, a3, 1 | |
slli a3, a3, 32 | |
srli a3, a3, 32 | |
add a1, a1, a3 | |
lbu a1, 0(a1) | |
or a0, a0, a1 | |
ld a1, -24(s0) | |
+ slli a2, a2, 32 | |
+ srli a2, a2, 31 | |
add a1, a1, a2 | |
sh a0, 0(a1) | |
j .LBB1_3 | |
@@ -133,12 +137,13 @@ main: # @main | |
j .LBB2_2 | |
.LBB2_2: # %for.body | |
# in Loop: Header=BB2_1 Depth=1 | |
- lwu a1, -24(s0) | |
+ lw a1, -24(s0) | |
li a0, 64 | |
subw a0, a0, a1 | |
slliw a0, a0, 8 | |
addw a0, a0, a1 | |
- slli a2, a1, 1 | |
+ slli a1, a1, 32 | |
+ srli a2, a1, 31 | |
addi a1, s0, -152 | |
add a1, a1, a2 | |
sh a0, 0(a1) | |
@@ -163,8 +168,9 @@ main: # @main | |
j .LBB2_6 | |
.LBB2_6: # %for.body5 | |
# in Loop: Header=BB2_5 Depth=1 | |
- lwu a1, -24(s0) | |
- slli a2, a1, 1 | |
+ lw a1, -24(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 31 | |
addi a0, s0, -152 | |
add a0, a0, a2 | |
lhu a0, 0(a0) | |
@@ -197,12 +203,13 @@ main: # @main | |
j .LBB2_12 | |
.LBB2_12: # %for.body21 | |
# in Loop: Header=BB2_11 Depth=1 | |
- lwu a1, -24(s0) | |
+ lw a1, -24(s0) | |
li a0, 64 | |
subw a0, a0, a1 | |
slliw a0, a0, 8 | |
addw a0, a0, a1 | |
- slli a2, a1, 1 | |
+ slli a1, a1, 32 | |
+ srli a2, a1, 31 | |
addi a1, s0, -152 | |
add a1, a1, a2 | |
sh a0, 0(a1) | |
@@ -227,8 +234,9 @@ main: # @main | |
j .LBB2_16 | |
.LBB2_16: # %for.body35 | |
# in Loop: Header=BB2_15 Depth=1 | |
- lwu a2, -24(s0) | |
- slli a1, a2, 1 | |
+ lw a2, -24(s0) | |
+ slli a0, a2, 32 | |
+ srli a1, a0, 31 | |
addi a0, s0, -152 | |
add a0, a0, a1 | |
lhu a0, 0(a0) | |
diff --git a/output_rv64imafdc_lp64_O0/pr71700.s b/output_rv64imafdc_lp64_O0/pr71700.s | |
index 5d1085197a..4170fb8ae7 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr71700.s | |
+++ b/output_rv64imafdc_lp64_O0/pr71700.s | |
@@ -19,8 +19,9 @@ main: # @main | |
lui a0, %hi(d) | |
lw a1, -24(s0) | |
sw a1, %lo(d)(a0) | |
- lhu a0, %lo(d+2)(a0) | |
- andi a0, a0, 1 | |
+ lw a0, %lo(d)(a0) | |
+ slli a0, a0, 47 | |
+ srli a0, a0, 63 | |
beqz a0, .LBB0_2 | |
j .LBB0_1 | |
.LBB0_1: # %if.then | |
diff --git a/output_rv64imafdc_lp64_O0/pr79388.s b/output_rv64imafdc_lp64_O0/pr79388.s | |
index cb855e742b..71fde755e4 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr79388.s | |
+++ b/output_rv64imafdc_lp64_O0/pr79388.s | |
@@ -21,11 +21,12 @@ foo: # @foo | |
addiw a1, a1, -2 | |
and a0, a0, a1 | |
sw a0, -20(s0) | |
- lwu a0, -20(s0) | |
- lui a1, 65537 | |
- slli a1, a1, 3 | |
- addi a1, a1, 1 | |
- mul a1, a0, a1 | |
+ lw a0, -20(s0) | |
+ lui a1, 524296 | |
+ addiw a1, a1, 1 | |
+ slli a2, a1, 32 | |
+ slli a1, a0, 32 | |
+ mulhu a1, a1, a2 | |
srli a1, a1, 47 | |
slliw a2, a1, 16 | |
subw a1, a1, a2 | |
diff --git a/output_rv64imafdc_lp64_O0/pr83362.s b/output_rv64imafdc_lp64_O0/pr83362.s | |
index c9bbdd6955..a1579787be 100644 | |
--- a/output_rv64imafdc_lp64_O0/pr83362.s | |
+++ b/output_rv64imafdc_lp64_O0/pr83362.s | |
@@ -45,10 +45,12 @@ foo: # @foo | |
.LBB1_1: # %do.body | |
# =>This Inner Loop Header: Depth=1 | |
lui a1, %hi(e) | |
- lwu a0, %lo(e)(a1) | |
+ lw a0, %lo(e)(a1) | |
lui a2, 256 | |
addiw a2, a2, 257 | |
- mul a2, a0, a2 | |
+ slli a3, a2, 32 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
diff --git a/output_rv64imafdc_lp64_O1/20140622-1.s b/output_rv64imafdc_lp64_O1/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64_O1/20140622-1.s | |
+++ b/output_rv64imafdc_lp64_O1/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64_O1/pr22061-1.s b/output_rv64imafdc_lp64_O1/pr22061-1.s | |
index 3d538d6ad9..461d597641 100644 | |
--- a/output_rv64imafdc_lp64_O1/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64_O1/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64_O1/pr23135.s b/output_rv64imafdc_lp64_O1/pr23135.s | |
index 9d13784c07..8167879d43 100644 | |
--- a/output_rv64imafdc_lp64_O1/pr23135.s | |
+++ b/output_rv64imafdc_lp64_O1/pr23135.s | |
@@ -33,164 +33,179 @@ main: # @main | |
sd s3, 24(sp) # 8-byte Folded Spill | |
sd s4, 16(sp) # 8-byte Folded Spill | |
sd s5, 8(sp) # 8-byte Folded Spill | |
+ sd s6, 0(sp) # 8-byte Folded Spill | |
lui a0, %hi(i) | |
lw a4, %lo(i)(a0) | |
lw a5, %lo(i+4)(a0) | |
lui a0, %hi(j) | |
- lw a2, %lo(j)(a0) | |
- lw a3, %lo(j+4)(a0) | |
- add a1, a2, a4 | |
- add s1, a3, a5 | |
- lui a0, %hi(res) | |
- sw s1, %lo(res+4)(a0) | |
- xori s0, a1, 160 | |
- xori s1, s1, 113 | |
- or s1, s1, s0 | |
- sext.w s1, s1 | |
- sw a1, %lo(res)(a0) | |
- bnez s1, .LBB1_12 | |
+ lw s0, %lo(j+4)(a0) | |
+ lw s1, %lo(j)(a0) | |
+ addw a1, s0, a5 | |
+ addw s4, s1, a4 | |
+ lui a2, %hi(res) | |
+ sw s4, %lo(res)(a2) | |
+ sw a1, %lo(res+4)(a2) | |
+ lw a3, %lo(res)(a2) | |
+ lw a0, %lo(res+4)(a2) | |
+ xori a3, a3, 160 | |
+ xori a0, a0, 113 | |
+ or a0, a0, a3 | |
+ bnez a0, .LBB1_12 | |
# %bb.1: # %verify.exit | |
- mul a1, a3, a5 | |
- mul s1, a2, a4 | |
- sw s1, %lo(res)(a0) | |
- xori s1, s1, 1500 | |
- xori s0, a1, 1300 | |
- or s1, s1, s0 | |
- sext.w s1, s1 | |
- sw a1, %lo(res+4)(a0) | |
- bnez s1, .LBB1_12 | |
+ mulw s5, s0, a5 | |
+ mulw s3, s1, a4 | |
+ sw s3, %lo(res)(a2) | |
+ sw s5, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ xori a0, a0, 1500 | |
+ xori a2, a2, 1300 | |
+ or a0, a0, a2 | |
+ bnez a0, .LBB1_12 | |
# %bb.2: # %verify.exit27 | |
- divw s3, a5, a3 | |
- divw a1, a4, a2 | |
- lui s1, %hi(res) | |
- sw a1, %lo(res)(s1) | |
- xori s0, a1, 15 | |
- xori a0, s3, 7 | |
- or a0, a0, s0 | |
- sw s3, %lo(res+4)(s1) | |
+ divw t2, a5, s0 | |
+ divw t3, a4, s1 | |
+ lui a2, %hi(res) | |
+ sw t3, %lo(res)(a2) | |
+ sw t2, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a3, %lo(res+4)(a2) | |
+ xori a0, a0, 15 | |
+ xori a3, a3, 7 | |
+ or a0, a0, a3 | |
bnez a0, .LBB1_12 | |
# %bb.3: # %verify.exit32 | |
- and t3, a3, a5 | |
- and t2, a2, a4 | |
- xori a0, t2, 2 | |
- xori s0, t3, 4 | |
- or a0, a0, s0 | |
- sw t2, %lo(res)(s1) | |
- sw t3, %lo(res+4)(s1) | |
+ and a7, s0, a5 | |
+ and a6, s1, a4 | |
+ sw a6, %lo(res)(a2) | |
+ sw a7, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ xori a0, a0, 2 | |
+ xori a2, a2, 4 | |
+ or a0, a0, a2 | |
bnez a0, .LBB1_12 | |
# %bb.4: # %verify.exit37 | |
- or a6, a3, a5 | |
- or a7, a2, a4 | |
- lui s1, %hi(res) | |
- sw a7, %lo(res)(s1) | |
- xori a0, a7, 158 | |
- xori s0, a6, 109 | |
- or a0, a0, s0 | |
- sw a6, %lo(res+4)(s1) | |
+ or t0, s0, a5 | |
+ or t1, s1, a4 | |
+ lui a2, %hi(res) | |
+ sw t1, %lo(res)(a2) | |
+ sw t0, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a3, %lo(res+4)(a2) | |
+ xori a0, a0, 158 | |
+ xori a3, a3, 109 | |
+ or a0, a0, a3 | |
bnez a0, .LBB1_12 | |
# %bb.5: # %verify.exit42 | |
- xor t1, a3, a5 | |
- xor t0, a2, a4 | |
- xori a0, t0, 156 | |
- xori s0, t1, 105 | |
- or a0, a0, s0 | |
- sw t0, %lo(res)(s1) | |
- sw t1, %lo(res+4)(s1) | |
+ xor t5, s0, a5 | |
+ xor t4, s1, a4 | |
+ sw t4, %lo(res)(a2) | |
+ sw t5, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ xori a0, a0, 156 | |
+ xori a2, a2, 105 | |
+ or a0, a0, a2 | |
bnez a0, .LBB1_12 | |
# %bb.6: # %verify.exit47 | |
- negw t4, a5 | |
- negw t5, a4 | |
- lui s1, %hi(res) | |
- sw t5, %lo(res)(s1) | |
- xori a0, t5, -150 | |
- xori s0, t4, -100 | |
- or a0, a0, s0 | |
- sw t4, %lo(res+4)(s1) | |
+ negw t6, a5 | |
+ negw s0, a4 | |
+ lui a2, %hi(res) | |
+ sw s0, %lo(res)(a2) | |
+ sw t6, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a3, %lo(res+4)(a2) | |
+ xori a0, a0, -150 | |
+ xori a3, a3, -100 | |
+ or a0, a0, a3 | |
bnez a0, .LBB1_12 | |
# %bb.7: # %verify.exit52 | |
- not t6, a5 | |
- xori a0, a4, 150 | |
- xori s0, a5, 100 | |
- or a0, a0, s0 | |
- not s0, a4 | |
- sw s0, %lo(res)(s1) | |
- sw t6, %lo(res+4)(s1) | |
+ not s2, a5 | |
+ not s1, a4 | |
+ sw s1, %lo(res)(a2) | |
+ sw s2, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ xori a0, a0, -151 | |
+ xori a2, a2, -101 | |
+ or a0, a0, a2 | |
bnez a0, .LBB1_12 | |
# %bb.8: # %verify.exit57 | |
- addw s2, a3, a5 | |
- addw s4, a2, a4 | |
- mulw s5, a2, a4 | |
- mulw a3, a3, a5 | |
- subw a0, s0, a4 | |
- subw a4, t6, a5 | |
- add a4, a4, a3 | |
- add a0, a0, s5 | |
- add a0, a0, s4 | |
- add a4, a4, s2 | |
- add a4, a4, t3 | |
- add a0, a0, t2 | |
- add a0, a0, a7 | |
- add a4, a4, a6 | |
- add s1, a4, t1 | |
- add a0, a0, t0 | |
- lui a5, %hi(k) | |
- sw a0, %lo(k)(a5) | |
- lui a4, %hi(res) | |
- sw a0, %lo(res)(a4) | |
- xori a0, a0, 1675 | |
- xori a2, s1, 1430 | |
- or a0, a0, a2 | |
- sw s1, %lo(k+4)(a5) | |
- sext.w a0, a0 | |
- sw s1, %lo(res+4)(a4) | |
+ subw a0, s1, a4 | |
+ subw a2, s2, a5 | |
+ addw a2, a2, s5 | |
+ addw a0, a0, s3 | |
+ addw a0, a0, s4 | |
+ addw a2, a2, a1 | |
+ addw a2, a2, a7 | |
+ addw a0, a0, a6 | |
+ addw a0, a0, t1 | |
+ addw a2, a2, t0 | |
+ addw a2, a2, t5 | |
+ addw a0, a0, t4 | |
+ lui a5, %hi(res) | |
+ sw a0, %lo(res)(a5) | |
+ sw a2, %lo(res+4)(a5) | |
+ lw a3, %lo(res)(a5) | |
+ lw a4, %lo(res+4)(a5) | |
+ lui s6, %hi(k) | |
+ sw a0, %lo(k)(s6) | |
+ xori a0, a3, 1675 | |
+ xori a3, a4, 1430 | |
+ or a0, a0, a3 | |
+ sw a2, %lo(k+4)(s6) | |
bnez a0, .LBB1_12 | |
# %bb.9: # %verify.exit62 | |
- mulw a0, s0, t5 | |
- mulw a2, t6, t4 | |
- mul a2, a2, a3 | |
- mul a0, a0, s5 | |
- mul a0, a0, s4 | |
- mul a2, a2, s2 | |
- mul a2, a2, t3 | |
- mul a0, a0, t2 | |
- mul a0, a0, a7 | |
- mul a2, a2, a6 | |
- mul a2, a2, t1 | |
- mul a0, a0, t0 | |
- sw a0, %lo(k)(a5) | |
- sw a2, %lo(k+4)(a5) | |
- sw a0, %lo(res)(a4) | |
- lui a5, 355583 | |
- xor a0, a0, a5 | |
- lui a5, 662935 | |
- addiw a5, a5, -704 | |
- xor a5, a5, a2 | |
- or a0, a0, a5 | |
- sext.w a0, a0 | |
- sw a2, %lo(res+4)(a4) | |
+ mulw a0, s1, s0 | |
+ mulw a2, s2, t6 | |
+ mulw a2, a2, s5 | |
+ mulw a0, a0, s3 | |
+ mulw a0, a0, s4 | |
+ mulw a2, a2, a1 | |
+ mulw a2, a2, a7 | |
+ mulw a0, a0, a6 | |
+ mulw a0, a0, t1 | |
+ mulw a2, a2, t0 | |
+ mulw a2, a2, t5 | |
+ mulw a0, a0, t4 | |
+ sw a0, %lo(k)(s6) | |
+ sw a0, %lo(res)(a5) | |
+ lw a0, %lo(res)(a5) | |
+ sw a2, %lo(res+4)(a5) | |
+ lw a3, %lo(res+4)(a5) | |
+ lui a4, 355583 | |
+ xor a0, a0, a4 | |
+ lui a4, 662935 | |
+ addiw a4, a4, -704 | |
+ xor a3, a3, a4 | |
+ or a0, a0, a3 | |
+ sw a2, %lo(k+4)(s6) | |
bnez a0, .LBB1_12 | |
# %bb.10: # %verify.exit67 | |
- divw a0, s2, a3 | |
- divw a2, s4, s5 | |
- divw a1, a2, a1 | |
- divw a0, a0, s3 | |
- divw a0, a0, t3 | |
- divw a1, a1, t2 | |
- divw a1, a1, a7 | |
- divw a0, a0, a6 | |
- divw a0, a0, t1 | |
- divw a1, a1, t0 | |
- divw a1, a1, t5 | |
- divw a0, a0, t4 | |
- divw a0, a0, t6 | |
+ divw a0, a1, s5 | |
+ divw a1, s4, s3 | |
+ divw a1, a1, t3 | |
+ divw a0, a0, t2 | |
+ divw a0, a0, a7 | |
+ divw a1, a1, a6 | |
+ divw a1, a1, t1 | |
+ divw a0, a0, t0 | |
+ divw a0, a0, t5 | |
+ divw a1, a1, t4 | |
divw a1, a1, s0 | |
- lui a2, %hi(k) | |
- sw a1, %lo(k)(a2) | |
- sw a0, %lo(k+4)(a2) | |
+ divw a0, a0, t6 | |
+ divw a0, a0, s2 | |
+ divw a1, a1, s1 | |
lui a2, %hi(res) | |
sw a1, %lo(res)(a2) | |
- or a1, a1, a0 | |
sw a0, %lo(res+4)(a2) | |
+ lw a3, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ lui a4, %hi(k) | |
+ sw a1, %lo(k)(a4) | |
+ or a1, a2, a3 | |
+ sw a0, %lo(k+4)(a4) | |
bnez a1, .LBB1_12 | |
# %bb.11: # %verify.exit72 | |
li a0, 0 | |
diff --git a/output_rv64imafdc_lp64_O1/pr51581-2.s b/output_rv64imafdc_lp64_O1/pr51581-2.s | |
index 7ce56aa11e..40ee3b4359 100644 | |
--- a/output_rv64imafdc_lp64_O1/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64_O1/pr51581-2.s | |
@@ -44,14 +44,14 @@ f2: # @f2 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB1_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -110,11 +110,13 @@ f4: # @f4 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, 18 | |
.LBB3_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
subw a4, a5, a4 | |
@@ -170,15 +172,15 @@ f6: # @f6 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, 19 | |
.LBB5_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -210,11 +212,10 @@ f7: # @f7 | |
addiw a6, a3, 1366 | |
.LBB6_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- sext.w a5, a4 | |
- mul a5, a5, a6 | |
+ lw a4, 0(a1) | |
+ mul a5, a4, a6 | |
srli a5, a5, 32 | |
- srli a3, a4, 31 | |
+ srliw a3, a4, 31 | |
addw a3, a3, a5 | |
slliw a5, a3, 1 | |
addw a3, a3, a5 | |
@@ -239,14 +240,14 @@ f8: # @f8 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB7_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -276,11 +277,10 @@ f9: # @f9 | |
li a6, -18 | |
.LBB8_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 34 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -306,11 +306,13 @@ f10: # @f10 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, -18 | |
.LBB9_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
addw a4, a4, a5 | |
@@ -339,11 +341,10 @@ f11: # @f11 | |
li a6, -19 | |
.LBB10_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 35 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -367,15 +368,15 @@ f12: # @f12 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, -19 | |
.LBB11_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -444,10 +445,9 @@ main: # @main | |
lui a2, 1 | |
lui a3, 349525 | |
addiw a6, a3, 1366 | |
- lui a4, 171 | |
+ lui a4, 699051 | |
addiw a4, a4, -1365 | |
- slli a4, a4, 12 | |
- addi a7, a4, -1365 | |
+ slli a7, a4, 32 | |
.LBB12_3: # %for.body5 | |
# =>This Inner Loop Header: Depth=1 | |
lw a5, 0(s0) | |
@@ -462,9 +462,10 @@ main: # @main | |
bne t0, a3, .LBB12_27 | |
# %bb.4: # %lor.lhs.false | |
# in Loop: Header=BB12_3 Depth=1 | |
- lwu a3, 0(s1) | |
+ lw a3, 0(s1) | |
lw t0, 0(a0) | |
- mul a5, a3, a7 | |
+ slli a5, a3, 32 | |
+ mulhu a5, a5, a7 | |
srli a5, a5, 33 | |
slliw a4, a5, 1 | |
addw a4, a4, a5 | |
@@ -491,24 +492,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_7: # %for.body22 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.8: # %lor.lhs.false29 | |
# in Loop: Header=BB12_7 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -536,10 +539,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_11: # %for.body43 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -553,9 +555,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.12: # %lor.lhs.false50 | |
# in Loop: Header=BB12_11 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
@@ -586,10 +589,9 @@ main: # @main | |
lui a4, 1 | |
lui a5, 349525 | |
addiw a6, a5, 1366 | |
- lui s1, 171 | |
+ lui s1, 699051 | |
addiw s1, s1, -1365 | |
- slli s1, s1, 12 | |
- addi a7, s1, -1365 | |
+ slli a7, s1, 32 | |
.LBB12_15: # %for.body64 | |
# =>This Inner Loop Header: Depth=1 | |
lw s0, 0(a2) | |
@@ -604,9 +606,10 @@ main: # @main | |
bne t0, a5, .LBB12_27 | |
# %bb.16: # %lor.lhs.false71 | |
# in Loop: Header=BB12_15 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t0, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 33 | |
slliw s1, s0, 1 | |
addw s1, s1, s0 | |
@@ -633,24 +636,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_19: # %for.body85 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.20: # %lor.lhs.false92 | |
# in Loop: Header=BB12_19 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -678,10 +683,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_23: # %for.body106 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -695,9 +699,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.24: # %lor.lhs.false113 | |
# in Loop: Header=BB12_23 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
diff --git a/output_rv64imafdc_lp64_O1/pr53645.s b/output_rv64imafdc_lp64_O1/pr53645.s | |
index 9bc27bccb5..8fbf5b1879 100644 | |
--- a/output_rv64imafdc_lp64_O1/pr53645.s | |
+++ b/output_rv64imafdc_lp64_O1/pr53645.s | |
@@ -188,7 +188,7 @@ sq1428: # @sq1428 | |
sr1428: # @sr1428 | |
# %bb.0: # %entry | |
lw a2, 4(a1) | |
- lwu a3, 8(a1) | |
+ lw a3, 8(a1) | |
lw a1, 12(a1) | |
slli a4, a2, 1 | |
srli a4, a4, 62 | |
@@ -200,7 +200,7 @@ sr1428: # @sr1428 | |
add a4, a4, a1 | |
andi a4, a4, -8 | |
subw a1, a1, a4 | |
- srli a4, a3, 31 | |
+ srliw a4, a3, 31 | |
add a4, a4, a3 | |
andi a4, a4, -2 | |
subw a3, a3, a4 | |
@@ -254,36 +254,44 @@ uq3333: # @uq3333 | |
.type ur3333,@function | |
ur3333: # @ur3333 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI9_0) | |
- ld a3, %lo(.LCPI9_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- srli a7, a4, 1 | |
- andi a4, a4, -2 | |
- addw a4, a4, a7 | |
- subw a7, a2, a4 | |
- mulhu a4, a1, a3 | |
- srli a2, a4, 1 | |
- andi a4, a4, -2 | |
- addw a2, a2, a4 | |
- subw a1, a1, a2 | |
- mulhu a2, a5, a3 | |
- srli a4, a2, 1 | |
- andi a2, a2, -2 | |
- addw a2, a2, a4 | |
- subw a2, a5, a2 | |
- mulhu a3, a6, a3 | |
+ lw t0, 12(a1) | |
+ lw t1, 8(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 4(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 0(a1) | |
+ lui a2, %hi(.LCPI9_0) | |
+ ld a2, %lo(.LCPI9_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 1 | |
andi a3, a3, -2 | |
addw a3, a3, a4 | |
- subw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a2, 8(a0) | |
- sw a1, 4(a0) | |
- sw a7, 0(a0) | |
+ subw a1, a1, a3 | |
+ mulhu a3, t2, a2 | |
+ srli a4, a3, 1 | |
+ andi a3, a3, -2 | |
+ addw a3, a3, a4 | |
+ subw a3, a5, a3 | |
+ mulhu a4, a7, a2 | |
+ srli a5, a4, 1 | |
+ andi a4, a4, -2 | |
+ addw a4, a4, a5 | |
+ subw a4, t1, a4 | |
+ mulhu a2, a6, a2 | |
+ srli a5, a2, 1 | |
+ andi a2, a2, -2 | |
+ addw a2, a2, a5 | |
+ subw a2, t0, a2 | |
+ sw a2, 12(a0) | |
+ sw a4, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end9: | |
.size ur3333, .Lfunc_end9-ur3333 | |
@@ -420,36 +428,44 @@ uq6565: # @uq6565 | |
.type ur6565,@function | |
ur6565: # @ur6565 | |
# %bb.0: # %entry | |
- lwu a2, 4(a1) | |
- lui a3, %hi(.LCPI13_0) | |
- ld a3, %lo(.LCPI13_0)(a3) | |
- lwu a6, 8(a1) | |
- lwu a7, 0(a1) | |
- lwu a1, 12(a1) | |
- mulhu a4, a2, a3 | |
- srli a5, a4, 2 | |
- andi a4, a4, -4 | |
- addw a4, a4, a5 | |
- subw a2, a2, a4 | |
- mulhu a3, a1, a3 | |
+ lw t0, 8(a1) | |
+ lw t1, 0(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 12(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 4(a1) | |
+ lui a2, %hi(.LCPI13_0) | |
+ ld a2, %lo(.LCPI13_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 2 | |
- lui a5, %hi(.LCPI13_1) | |
- ld a5, %lo(.LCPI13_1)(a5) | |
andi a3, a3, -4 | |
addw a3, a3, a4 | |
subw a1, a1, a3 | |
- mulhu a3, a7, a5 | |
+ mulhu a2, t2, a2 | |
+ srli a3, a2, 2 | |
+ lui a4, %hi(.LCPI13_1) | |
+ ld a4, %lo(.LCPI13_1)(a4) | |
+ andi a2, a2, -4 | |
+ addw a2, a2, a3 | |
+ subw a2, a5, a2 | |
+ mulhu a3, a7, a4 | |
srli a3, a3, 2 | |
- li a4, 6 | |
- mulw a3, a3, a4 | |
- subw a3, a7, a3 | |
- mulhu a5, a6, a5 | |
- srli a5, a5, 2 | |
- mulw a4, a5, a4 | |
- subw a4, a6, a4 | |
- sw a1, 12(a0) | |
+ li a5, 6 | |
+ mulw a3, a3, a5 | |
+ subw a3, t1, a3 | |
+ mulhu a4, a6, a4 | |
+ srli a4, a4, 2 | |
+ mulw a4, a4, a5 | |
+ subw a4, t0, a4 | |
+ sw a2, 12(a0) | |
sw a4, 8(a0) | |
- sw a2, 4(a0) | |
+ sw a1, 4(a0) | |
sw a3, 0(a0) | |
ret | |
.Lfunc_end13: | |
@@ -592,48 +608,50 @@ uq1414146: # @uq1414146 | |
.section .sdata,"aw",@progbits | |
.p2align 3 # -- Begin function ur1414146 | |
.LCPI17_0: | |
- .quad 5270498306774157605 # 0x4924924924924925 | |
-.LCPI17_1: | |
.quad -6148914691236517205 # 0xaaaaaaaaaaaaaaab | |
+.LCPI17_1: | |
+ .quad 5270498306774157605 # 0x4924924924924925 | |
.text | |
.globl ur1414146 | |
.p2align 1 | |
.type ur1414146,@function | |
ur1414146: # @ur1414146 | |
# %bb.0: # %entry | |
- lwu a6, 12(a1) | |
- lwu a3, 0(a1) | |
- lui a4, %hi(.LCPI17_0) | |
- ld a4, %lo(.LCPI17_0)(a4) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- srli a2, a3, 1 | |
- mulhu a2, a2, a4 | |
- srli a2, a2, 1 | |
- li a7, 14 | |
+ lw a6, 8(a1) | |
+ lw a3, 4(a1) | |
+ lw a4, 12(a1) | |
+ lui a5, %hi(.LCPI17_0) | |
+ ld a5, %lo(.LCPI17_0)(a5) | |
+ lw a1, 0(a1) | |
+ slli a2, a4, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ li a7, 6 | |
+ lui a5, %hi(.LCPI17_1) | |
+ ld a5, %lo(.LCPI17_1)(a5) | |
mulw a2, a2, a7 | |
- subw a2, a3, a2 | |
- srli a3, a1, 1 | |
- mulhu a3, a3, a4 | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a1, a1, a3 | |
- srli a3, a5, 1 | |
- mulhu a3, a3, a4 | |
- lui a4, %hi(.LCPI17_1) | |
- ld a4, %lo(.LCPI17_1)(a4) | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a3, a5, a3 | |
- mulhu a4, a6, a4 | |
- srli a4, a4, 2 | |
- li a5, 6 | |
- mulw a4, a4, a5 | |
- subw a4, a6, a4 | |
- sw a4, 12(a0) | |
- sw a3, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ subw a7, a4, a2 | |
+ srliw a4, a1, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ li a2, 14 | |
+ mulw a4, a4, a2 | |
+ subw a1, a1, a4 | |
+ srliw a4, a3, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a4, a4, a2 | |
+ subw a3, a3, a4 | |
+ srliw a4, a6, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a2, a4, a2 | |
+ subw a2, a6, a2 | |
+ sw a2, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
+ sw a7, 12(a0) | |
ret | |
.Lfunc_end17: | |
.size ur1414146, .Lfunc_end17-ur1414146 | |
@@ -788,48 +806,56 @@ uq7777: # @uq7777 | |
.type ur7777,@function | |
ur7777: # @ur7777 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI21_0) | |
- ld a3, %lo(.LCPI21_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a7, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- sub a5, a2, a4 | |
- srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a2, a2, a4 | |
- mulhu a4, a1, a3 | |
- sub a5, a1, a4 | |
+ lw a6, 12(a1) | |
+ lw a7, 8(a1) | |
+ slli a4, a6, 32 | |
+ lw t2, 4(a1) | |
+ srli t0, a4, 32 | |
+ slli a2, a7, 32 | |
+ srli t1, a2, 32 | |
+ slli a3, t2, 32 | |
+ lw a1, 0(a1) | |
+ lui a4, %hi(.LCPI21_0) | |
+ ld a4, %lo(.LCPI21_0)(a4) | |
+ srli a3, a3, 32 | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a5, a2, a4 | |
+ sub a2, a2, a5 | |
+ srli a2, a2, 1 | |
+ add a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ slliw a5, a2, 3 | |
+ subw a2, a2, a5 | |
+ addw a1, a1, a2 | |
+ mulhu a2, a3, a4 | |
+ sub a3, a3, a2 | |
+ srli a3, a3, 1 | |
+ add a2, a2, a3 | |
+ srli a2, a2, 2 | |
+ slliw a3, a2, 3 | |
+ subw a2, a2, a3 | |
+ addw a2, t2, a2 | |
+ mulhu a3, t1, a4 | |
+ sub a5, t1, a3 | |
srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a1, a1, a4 | |
- mulhu a4, a7, a3 | |
- sub a5, a7, a4 | |
+ add a3, a3, a5 | |
+ srli a3, a3, 2 | |
+ slliw a5, a3, 3 | |
+ subw a3, a3, a5 | |
+ addw a3, a7, a3 | |
+ mulhu a4, t0, a4 | |
+ sub a5, t0, a4 | |
srli a5, a5, 1 | |
add a4, a4, a5 | |
srli a4, a4, 2 | |
slliw a5, a4, 3 | |
subw a4, a4, a5 | |
- addw a4, a7, a4 | |
- mulhu a3, a6, a3 | |
- sub a5, a6, a3 | |
- srli a5, a5, 1 | |
- add a3, a3, a5 | |
- srli a3, a3, 2 | |
- slliw a5, a3, 3 | |
- subw a3, a3, a5 | |
- addw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a4, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ addw a4, a6, a4 | |
+ sw a4, 12(a0) | |
+ sw a3, 8(a0) | |
+ sw a2, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end21: | |
.size ur7777, .Lfunc_end21-ur7777 | |
@@ -931,51 +957,47 @@ sr7777: # @sr7777 | |
.type main,@function | |
main: # @main | |
# %bb.0: # %entry | |
- addi sp, sp, -144 | |
- sd ra, 136(sp) # 8-byte Folded Spill | |
- sd s0, 128(sp) # 8-byte Folded Spill | |
- sd s1, 120(sp) # 8-byte Folded Spill | |
- sd s2, 112(sp) # 8-byte Folded Spill | |
- sd s3, 104(sp) # 8-byte Folded Spill | |
- sd s4, 96(sp) # 8-byte Folded Spill | |
- sd s5, 88(sp) # 8-byte Folded Spill | |
- sd s6, 80(sp) # 8-byte Folded Spill | |
- sd s7, 72(sp) # 8-byte Folded Spill | |
- sd s8, 64(sp) # 8-byte Folded Spill | |
- sd s9, 56(sp) # 8-byte Folded Spill | |
- sd s10, 48(sp) # 8-byte Folded Spill | |
- sd s11, 40(sp) # 8-byte Folded Spill | |
+ addi sp, sp, -128 | |
+ sd ra, 120(sp) # 8-byte Folded Spill | |
+ sd s0, 112(sp) # 8-byte Folded Spill | |
+ sd s1, 104(sp) # 8-byte Folded Spill | |
+ sd s2, 96(sp) # 8-byte Folded Spill | |
+ sd s3, 88(sp) # 8-byte Folded Spill | |
+ sd s4, 80(sp) # 8-byte Folded Spill | |
+ sd s5, 72(sp) # 8-byte Folded Spill | |
+ sd s6, 64(sp) # 8-byte Folded Spill | |
+ sd s7, 56(sp) # 8-byte Folded Spill | |
+ sd s8, 48(sp) # 8-byte Folded Spill | |
+ sd s9, 40(sp) # 8-byte Folded Spill | |
+ sd s10, 32(sp) # 8-byte Folded Spill | |
li s3, 0 | |
lui a0, %hi(u) | |
addi s2, a0, %lo(u) | |
- addi s1, sp, 16 | |
- lui a0, 171 | |
- addiw a0, a0, -1365 | |
- slli a0, a0, 12 | |
- addi s4, a0, -1365 | |
+ addi s4, sp, 16 | |
lui a0, 699051 | |
addiw a0, a0, -1365 | |
- slli s5, a0, 32 | |
+ slli s1, a0, 32 | |
lui a0, 838861 | |
addiw a0, a0, -819 | |
- slli s6, a0, 32 | |
- li s7, 6 | |
+ slli s5, a0, 32 | |
+ li s6, 6 | |
lui a0, 299593 | |
slli a0, a0, 1 | |
- addi s8, a0, 1171 | |
- li s9, 14 | |
+ addi s7, a0, 1171 | |
+ li s8, 14 | |
lui a0, 149797 | |
- addiw s10, a0, -1755 | |
- slli s11, s10, 32 | |
+ addiw a0, a0, -1755 | |
+ slli s9, a0, 32 | |
+ li s10, 16 | |
.LBB24_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
add s0, s2, s3 | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.2: # %lor.lhs.false | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -987,9 +1009,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.4: # %lor.lhs.false19 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1004,7 +1026,7 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1018,7 +1040,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1048,9 +1070,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
+ srliw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
# %bb.12: # %lor.lhs.false90 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1077,7 +1099,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1094,9 +1116,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.18: # %lor.lhs.false145 | |
@@ -1104,16 +1127,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.19: # %if.end154 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.20: # %lor.lhs.false162 | |
@@ -1121,7 +1145,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.21: # %if.end171 | |
@@ -1131,9 +1155,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1144,7 +1169,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1154,9 +1179,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1167,7 +1193,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1180,9 +1206,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.26: # %lor.lhs.false217 | |
@@ -1190,16 +1217,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.27: # %if.end226 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.28: # %lor.lhs.false234 | |
@@ -1207,7 +1235,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.29: # %if.end243 | |
@@ -1217,11 +1245,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.30: # %lor.lhs.false253 | |
@@ -1229,7 +1258,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1239,11 +1268,12 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.32: # %lor.lhs.false270 | |
@@ -1251,7 +1281,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1264,10 +1294,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.34: # %lor.lhs.false289 | |
@@ -1275,17 +1305,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.35: # %if.end298 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.36: # %lor.lhs.false306 | |
@@ -1293,7 +1323,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a0, a0, 1 | |
- mul a0, a0, s8 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.37: # %if.end315 | |
@@ -1303,12 +1333,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.38: # %lor.lhs.false325 | |
@@ -1316,21 +1346,21 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.39: # %if.end334 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.40: # %lor.lhs.false342 | |
@@ -1338,9 +1368,9 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a2, a0, 1 | |
- mul a2, a2, s8 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.41: # %if.end351 | |
@@ -1350,9 +1380,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1364,7 +1395,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1375,9 +1406,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1389,7 +1421,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1403,9 +1435,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1420,7 +1453,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1434,9 +1467,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1451,7 +1485,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1466,8 +1500,7 @@ main: # @main | |
#APP | |
#NO_APP | |
addi s3, s3, 16 | |
- li a0, 16 | |
- beq s3, a0, .LBB24_1 | |
+ beq s3, s10, .LBB24_1 | |
# %bb.50: # %for.body428.preheader | |
li s3, 0 | |
lui a0, %hi(s) | |
@@ -1501,8 +1534,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1521,8 +1554,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1545,8 +1578,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1567,8 +1600,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1587,8 +1620,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 29 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 61 | |
addw a0, a0, a2 | |
sraiw a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1596,9 +1629,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
addw a0, a0, a2 | |
sraiw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1606,8 +1639,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1634,9 +1667,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
add a2, a2, a0 | |
andi a2, a2, -2 | |
subw a0, a0, a2 | |
@@ -1645,8 +1678,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -2073,20 +2106,19 @@ main: # @main | |
beq s3, s10, .LBB24_51 | |
# %bb.100: # %for.end863 | |
li a0, 0 | |
- ld ra, 136(sp) # 8-byte Folded Reload | |
- ld s0, 128(sp) # 8-byte Folded Reload | |
- ld s1, 120(sp) # 8-byte Folded Reload | |
- ld s2, 112(sp) # 8-byte Folded Reload | |
- ld s3, 104(sp) # 8-byte Folded Reload | |
- ld s4, 96(sp) # 8-byte Folded Reload | |
- ld s5, 88(sp) # 8-byte Folded Reload | |
- ld s6, 80(sp) # 8-byte Folded Reload | |
- ld s7, 72(sp) # 8-byte Folded Reload | |
- ld s8, 64(sp) # 8-byte Folded Reload | |
- ld s9, 56(sp) # 8-byte Folded Reload | |
- ld s10, 48(sp) # 8-byte Folded Reload | |
- ld s11, 40(sp) # 8-byte Folded Reload | |
- addi sp, sp, 144 | |
+ ld ra, 120(sp) # 8-byte Folded Reload | |
+ ld s0, 112(sp) # 8-byte Folded Reload | |
+ ld s1, 104(sp) # 8-byte Folded Reload | |
+ ld s2, 96(sp) # 8-byte Folded Reload | |
+ ld s3, 88(sp) # 8-byte Folded Reload | |
+ ld s4, 80(sp) # 8-byte Folded Reload | |
+ ld s5, 72(sp) # 8-byte Folded Reload | |
+ ld s6, 64(sp) # 8-byte Folded Reload | |
+ ld s7, 56(sp) # 8-byte Folded Reload | |
+ ld s8, 48(sp) # 8-byte Folded Reload | |
+ ld s9, 40(sp) # 8-byte Folded Reload | |
+ ld s10, 32(sp) # 8-byte Folded Reload | |
+ addi sp, sp, 128 | |
ret | |
.LBB24_101: # %if.then | |
call abort | |
diff --git a/output_rv64imafdc_lp64_O2/20140622-1.s b/output_rv64imafdc_lp64_O2/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64_O2/20140622-1.s | |
+++ b/output_rv64imafdc_lp64_O2/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64_O2/loop-5.s b/output_rv64imafdc_lp64_O2/loop-5.s | |
index 4c4398adfe..a5bdfb93ff 100644 | |
--- a/output_rv64imafdc_lp64_O2/loop-5.s | |
+++ b/output_rv64imafdc_lp64_O2/loop-5.s | |
@@ -9,15 +9,16 @@ main: # @main | |
# %bb.0: # %entry | |
addi sp, sp, -16 | |
sd ra, 8(sp) # 8-byte Folded Spill | |
- lui a3, %hi(t) | |
- lwu a2, %lo(t)(a3) | |
- sext.w a0, a2 | |
+ lui a2, %hi(t) | |
+ lw a0, %lo(t)(a2) | |
li a1, 4 | |
bge a0, a1, .LBB0_9 | |
# %bb.1: # %ap.exit.i | |
+ slli a1, a0, 32 | |
+ srli a3, a1, 32 | |
addiw a1, a0, 1 | |
- sw a1, %lo(t)(a3) | |
- slli a2, a2, 2 | |
+ sw a1, %lo(t)(a2) | |
+ slli a2, a3, 2 | |
lui a3, %hi(a) | |
addi a3, a3, %lo(a) | |
add a2, a2, a3 | |
diff --git a/output_rv64imafdc_lp64_O2/pr22061-1.s b/output_rv64imafdc_lp64_O2/pr22061-1.s | |
index 141bfd37a9..277b8f7983 100644 | |
--- a/output_rv64imafdc_lp64_O2/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64_O2/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64_O2/pr51581-2.s b/output_rv64imafdc_lp64_O2/pr51581-2.s | |
index 7ce56aa11e..40ee3b4359 100644 | |
--- a/output_rv64imafdc_lp64_O2/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64_O2/pr51581-2.s | |
@@ -44,14 +44,14 @@ f2: # @f2 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB1_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -110,11 +110,13 @@ f4: # @f4 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, 18 | |
.LBB3_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
subw a4, a5, a4 | |
@@ -170,15 +172,15 @@ f6: # @f6 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, 19 | |
.LBB5_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -210,11 +212,10 @@ f7: # @f7 | |
addiw a6, a3, 1366 | |
.LBB6_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- sext.w a5, a4 | |
- mul a5, a5, a6 | |
+ lw a4, 0(a1) | |
+ mul a5, a4, a6 | |
srli a5, a5, 32 | |
- srli a3, a4, 31 | |
+ srliw a3, a4, 31 | |
addw a3, a3, a5 | |
slliw a5, a3, 1 | |
addw a3, a3, a5 | |
@@ -239,14 +240,14 @@ f8: # @f8 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB7_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -276,11 +277,10 @@ f9: # @f9 | |
li a6, -18 | |
.LBB8_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 34 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -306,11 +306,13 @@ f10: # @f10 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, -18 | |
.LBB9_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
addw a4, a4, a5 | |
@@ -339,11 +341,10 @@ f11: # @f11 | |
li a6, -19 | |
.LBB10_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 35 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -367,15 +368,15 @@ f12: # @f12 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, -19 | |
.LBB11_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -444,10 +445,9 @@ main: # @main | |
lui a2, 1 | |
lui a3, 349525 | |
addiw a6, a3, 1366 | |
- lui a4, 171 | |
+ lui a4, 699051 | |
addiw a4, a4, -1365 | |
- slli a4, a4, 12 | |
- addi a7, a4, -1365 | |
+ slli a7, a4, 32 | |
.LBB12_3: # %for.body5 | |
# =>This Inner Loop Header: Depth=1 | |
lw a5, 0(s0) | |
@@ -462,9 +462,10 @@ main: # @main | |
bne t0, a3, .LBB12_27 | |
# %bb.4: # %lor.lhs.false | |
# in Loop: Header=BB12_3 Depth=1 | |
- lwu a3, 0(s1) | |
+ lw a3, 0(s1) | |
lw t0, 0(a0) | |
- mul a5, a3, a7 | |
+ slli a5, a3, 32 | |
+ mulhu a5, a5, a7 | |
srli a5, a5, 33 | |
slliw a4, a5, 1 | |
addw a4, a4, a5 | |
@@ -491,24 +492,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_7: # %for.body22 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.8: # %lor.lhs.false29 | |
# in Loop: Header=BB12_7 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -536,10 +539,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_11: # %for.body43 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -553,9 +555,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.12: # %lor.lhs.false50 | |
# in Loop: Header=BB12_11 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
@@ -586,10 +589,9 @@ main: # @main | |
lui a4, 1 | |
lui a5, 349525 | |
addiw a6, a5, 1366 | |
- lui s1, 171 | |
+ lui s1, 699051 | |
addiw s1, s1, -1365 | |
- slli s1, s1, 12 | |
- addi a7, s1, -1365 | |
+ slli a7, s1, 32 | |
.LBB12_15: # %for.body64 | |
# =>This Inner Loop Header: Depth=1 | |
lw s0, 0(a2) | |
@@ -604,9 +606,10 @@ main: # @main | |
bne t0, a5, .LBB12_27 | |
# %bb.16: # %lor.lhs.false71 | |
# in Loop: Header=BB12_15 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t0, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 33 | |
slliw s1, s0, 1 | |
addw s1, s1, s0 | |
@@ -633,24 +636,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_19: # %for.body85 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.20: # %lor.lhs.false92 | |
# in Loop: Header=BB12_19 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -678,10 +683,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_23: # %for.body106 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -695,9 +699,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.24: # %lor.lhs.false113 | |
# in Loop: Header=BB12_23 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
diff --git a/output_rv64imafdc_lp64_O2/pr53645.s b/output_rv64imafdc_lp64_O2/pr53645.s | |
index 56bd435ece..7c352a0b5d 100644 | |
--- a/output_rv64imafdc_lp64_O2/pr53645.s | |
+++ b/output_rv64imafdc_lp64_O2/pr53645.s | |
@@ -188,7 +188,7 @@ sq1428: # @sq1428 | |
sr1428: # @sr1428 | |
# %bb.0: # %entry | |
lw a2, 4(a1) | |
- lwu a3, 8(a1) | |
+ lw a3, 8(a1) | |
lw a1, 12(a1) | |
slli a4, a2, 1 | |
srli a4, a4, 62 | |
@@ -200,7 +200,7 @@ sr1428: # @sr1428 | |
add a4, a4, a1 | |
andi a4, a4, -8 | |
subw a1, a1, a4 | |
- srli a4, a3, 31 | |
+ srliw a4, a3, 31 | |
add a4, a4, a3 | |
andi a4, a4, -2 | |
subw a3, a3, a4 | |
@@ -254,36 +254,44 @@ uq3333: # @uq3333 | |
.type ur3333,@function | |
ur3333: # @ur3333 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI9_0) | |
- ld a3, %lo(.LCPI9_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- srli a7, a4, 1 | |
- andi a4, a4, -2 | |
- addw a4, a4, a7 | |
- subw a7, a2, a4 | |
- mulhu a4, a1, a3 | |
- srli a2, a4, 1 | |
- andi a4, a4, -2 | |
- addw a2, a2, a4 | |
- subw a1, a1, a2 | |
- mulhu a2, a5, a3 | |
- srli a4, a2, 1 | |
- andi a2, a2, -2 | |
- addw a2, a2, a4 | |
- subw a2, a5, a2 | |
- mulhu a3, a6, a3 | |
+ lw t0, 12(a1) | |
+ lw t1, 8(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 4(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 0(a1) | |
+ lui a2, %hi(.LCPI9_0) | |
+ ld a2, %lo(.LCPI9_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 1 | |
andi a3, a3, -2 | |
addw a3, a3, a4 | |
- subw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a2, 8(a0) | |
- sw a1, 4(a0) | |
- sw a7, 0(a0) | |
+ subw a1, a1, a3 | |
+ mulhu a3, t2, a2 | |
+ srli a4, a3, 1 | |
+ andi a3, a3, -2 | |
+ addw a3, a3, a4 | |
+ subw a3, a5, a3 | |
+ mulhu a4, a7, a2 | |
+ srli a5, a4, 1 | |
+ andi a4, a4, -2 | |
+ addw a4, a4, a5 | |
+ subw a4, t1, a4 | |
+ mulhu a2, a6, a2 | |
+ srli a5, a2, 1 | |
+ andi a2, a2, -2 | |
+ addw a2, a2, a5 | |
+ subw a2, t0, a2 | |
+ sw a2, 12(a0) | |
+ sw a4, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end9: | |
.size ur3333, .Lfunc_end9-ur3333 | |
@@ -420,36 +428,44 @@ uq6565: # @uq6565 | |
.type ur6565,@function | |
ur6565: # @ur6565 | |
# %bb.0: # %entry | |
- lwu a2, 4(a1) | |
- lui a3, %hi(.LCPI13_0) | |
- ld a3, %lo(.LCPI13_0)(a3) | |
- lwu a6, 8(a1) | |
- lwu a7, 0(a1) | |
- lwu a1, 12(a1) | |
- mulhu a4, a2, a3 | |
- srli a5, a4, 2 | |
- andi a4, a4, -4 | |
- addw a4, a4, a5 | |
- subw a2, a2, a4 | |
- mulhu a3, a1, a3 | |
+ lw t0, 8(a1) | |
+ lw t1, 0(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 12(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 4(a1) | |
+ lui a2, %hi(.LCPI13_0) | |
+ ld a2, %lo(.LCPI13_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 2 | |
- lui a5, %hi(.LCPI13_1) | |
- ld a5, %lo(.LCPI13_1)(a5) | |
andi a3, a3, -4 | |
addw a3, a3, a4 | |
subw a1, a1, a3 | |
- mulhu a3, a7, a5 | |
+ mulhu a2, t2, a2 | |
+ srli a3, a2, 2 | |
+ lui a4, %hi(.LCPI13_1) | |
+ ld a4, %lo(.LCPI13_1)(a4) | |
+ andi a2, a2, -4 | |
+ addw a2, a2, a3 | |
+ subw a2, a5, a2 | |
+ mulhu a3, a7, a4 | |
srli a3, a3, 2 | |
- li a4, 6 | |
- mulw a3, a3, a4 | |
- subw a3, a7, a3 | |
- mulhu a5, a6, a5 | |
- srli a5, a5, 2 | |
- mulw a4, a5, a4 | |
- subw a4, a6, a4 | |
- sw a1, 12(a0) | |
+ li a5, 6 | |
+ mulw a3, a3, a5 | |
+ subw a3, t1, a3 | |
+ mulhu a4, a6, a4 | |
+ srli a4, a4, 2 | |
+ mulw a4, a4, a5 | |
+ subw a4, t0, a4 | |
+ sw a2, 12(a0) | |
sw a4, 8(a0) | |
- sw a2, 4(a0) | |
+ sw a1, 4(a0) | |
sw a3, 0(a0) | |
ret | |
.Lfunc_end13: | |
@@ -592,48 +608,50 @@ uq1414146: # @uq1414146 | |
.section .sdata,"aw",@progbits | |
.p2align 3 # -- Begin function ur1414146 | |
.LCPI17_0: | |
- .quad 5270498306774157605 # 0x4924924924924925 | |
-.LCPI17_1: | |
.quad -6148914691236517205 # 0xaaaaaaaaaaaaaaab | |
+.LCPI17_1: | |
+ .quad 5270498306774157605 # 0x4924924924924925 | |
.text | |
.globl ur1414146 | |
.p2align 1 | |
.type ur1414146,@function | |
ur1414146: # @ur1414146 | |
# %bb.0: # %entry | |
- lwu a6, 12(a1) | |
- lwu a3, 0(a1) | |
- lui a4, %hi(.LCPI17_0) | |
- ld a4, %lo(.LCPI17_0)(a4) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- srli a2, a3, 1 | |
- mulhu a2, a2, a4 | |
- srli a2, a2, 1 | |
- li a7, 14 | |
+ lw a6, 8(a1) | |
+ lw a3, 4(a1) | |
+ lw a4, 12(a1) | |
+ lui a5, %hi(.LCPI17_0) | |
+ ld a5, %lo(.LCPI17_0)(a5) | |
+ lw a1, 0(a1) | |
+ slli a2, a4, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ li a7, 6 | |
+ lui a5, %hi(.LCPI17_1) | |
+ ld a5, %lo(.LCPI17_1)(a5) | |
mulw a2, a2, a7 | |
- subw a2, a3, a2 | |
- srli a3, a1, 1 | |
- mulhu a3, a3, a4 | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a1, a1, a3 | |
- srli a3, a5, 1 | |
- mulhu a3, a3, a4 | |
- lui a4, %hi(.LCPI17_1) | |
- ld a4, %lo(.LCPI17_1)(a4) | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a3, a5, a3 | |
- mulhu a4, a6, a4 | |
- srli a4, a4, 2 | |
- li a5, 6 | |
- mulw a4, a4, a5 | |
- subw a4, a6, a4 | |
- sw a4, 12(a0) | |
- sw a3, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ subw a7, a4, a2 | |
+ srliw a4, a1, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ li a2, 14 | |
+ mulw a4, a4, a2 | |
+ subw a1, a1, a4 | |
+ srliw a4, a3, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a4, a4, a2 | |
+ subw a3, a3, a4 | |
+ srliw a4, a6, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a2, a4, a2 | |
+ subw a2, a6, a2 | |
+ sw a2, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
+ sw a7, 12(a0) | |
ret | |
.Lfunc_end17: | |
.size ur1414146, .Lfunc_end17-ur1414146 | |
@@ -788,48 +806,56 @@ uq7777: # @uq7777 | |
.type ur7777,@function | |
ur7777: # @ur7777 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI21_0) | |
- ld a3, %lo(.LCPI21_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a7, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- sub a5, a2, a4 | |
- srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a2, a2, a4 | |
- mulhu a4, a1, a3 | |
- sub a5, a1, a4 | |
+ lw a6, 12(a1) | |
+ lw a7, 8(a1) | |
+ slli a4, a6, 32 | |
+ lw t2, 4(a1) | |
+ srli t0, a4, 32 | |
+ slli a2, a7, 32 | |
+ srli t1, a2, 32 | |
+ slli a3, t2, 32 | |
+ lw a1, 0(a1) | |
+ lui a4, %hi(.LCPI21_0) | |
+ ld a4, %lo(.LCPI21_0)(a4) | |
+ srli a3, a3, 32 | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a5, a2, a4 | |
+ sub a2, a2, a5 | |
+ srli a2, a2, 1 | |
+ add a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ slliw a5, a2, 3 | |
+ subw a2, a2, a5 | |
+ addw a1, a1, a2 | |
+ mulhu a2, a3, a4 | |
+ sub a3, a3, a2 | |
+ srli a3, a3, 1 | |
+ add a2, a2, a3 | |
+ srli a2, a2, 2 | |
+ slliw a3, a2, 3 | |
+ subw a2, a2, a3 | |
+ addw a2, t2, a2 | |
+ mulhu a3, t1, a4 | |
+ sub a5, t1, a3 | |
srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a1, a1, a4 | |
- mulhu a4, a7, a3 | |
- sub a5, a7, a4 | |
+ add a3, a3, a5 | |
+ srli a3, a3, 2 | |
+ slliw a5, a3, 3 | |
+ subw a3, a3, a5 | |
+ addw a3, a7, a3 | |
+ mulhu a4, t0, a4 | |
+ sub a5, t0, a4 | |
srli a5, a5, 1 | |
add a4, a4, a5 | |
srli a4, a4, 2 | |
slliw a5, a4, 3 | |
subw a4, a4, a5 | |
- addw a4, a7, a4 | |
- mulhu a3, a6, a3 | |
- sub a5, a6, a3 | |
- srli a5, a5, 1 | |
- add a3, a3, a5 | |
- srli a3, a3, 2 | |
- slliw a5, a3, 3 | |
- subw a3, a3, a5 | |
- addw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a4, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ addw a4, a6, a4 | |
+ sw a4, 12(a0) | |
+ sw a3, 8(a0) | |
+ sw a2, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end21: | |
.size ur7777, .Lfunc_end21-ur7777 | |
@@ -931,43 +957,37 @@ sr7777: # @sr7777 | |
.type main,@function | |
main: # @main | |
# %bb.0: # %entry | |
- addi sp, sp, -144 | |
- sd ra, 136(sp) # 8-byte Folded Spill | |
- sd s0, 128(sp) # 8-byte Folded Spill | |
- sd s1, 120(sp) # 8-byte Folded Spill | |
- sd s2, 112(sp) # 8-byte Folded Spill | |
- sd s3, 104(sp) # 8-byte Folded Spill | |
- sd s4, 96(sp) # 8-byte Folded Spill | |
- sd s5, 88(sp) # 8-byte Folded Spill | |
- sd s6, 80(sp) # 8-byte Folded Spill | |
- sd s7, 72(sp) # 8-byte Folded Spill | |
- sd s8, 64(sp) # 8-byte Folded Spill | |
- sd s9, 56(sp) # 8-byte Folded Spill | |
- sd s10, 48(sp) # 8-byte Folded Spill | |
- sd s11, 40(sp) # 8-byte Folded Spill | |
+ addi sp, sp, -128 | |
+ sd ra, 120(sp) # 8-byte Folded Spill | |
+ sd s0, 112(sp) # 8-byte Folded Spill | |
+ sd s1, 104(sp) # 8-byte Folded Spill | |
+ sd s2, 96(sp) # 8-byte Folded Spill | |
+ sd s3, 88(sp) # 8-byte Folded Spill | |
+ sd s4, 80(sp) # 8-byte Folded Spill | |
+ sd s5, 72(sp) # 8-byte Folded Spill | |
+ sd s6, 64(sp) # 8-byte Folded Spill | |
+ sd s7, 56(sp) # 8-byte Folded Spill | |
+ sd s8, 48(sp) # 8-byte Folded Spill | |
+ sd s9, 40(sp) # 8-byte Folded Spill | |
li a0, 0 | |
li s3, 1 | |
lui a1, %hi(u) | |
addi s2, a1, %lo(u) | |
- addi s1, sp, 16 | |
- lui a1, 171 | |
- addiw a1, a1, -1365 | |
- slli a1, a1, 12 | |
- addi s4, a1, -1365 | |
+ addi s4, sp, 16 | |
lui a1, 699051 | |
addiw a1, a1, -1365 | |
- slli s5, a1, 32 | |
+ slli s1, a1, 32 | |
lui a1, 838861 | |
addiw a1, a1, -819 | |
- slli s6, a1, 32 | |
- li s7, 6 | |
+ slli s5, a1, 32 | |
+ li s6, 6 | |
lui a1, 299593 | |
slli a1, a1, 1 | |
- addi s8, a1, 1171 | |
- li s9, 14 | |
+ addi s7, a1, 1171 | |
+ li s8, 14 | |
lui a1, 149797 | |
- addiw s10, a1, -1755 | |
- slli s11, s10, 32 | |
+ addiw a1, a1, -1755 | |
+ slli s9, a1, 32 | |
.LBB24_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
slli a0, a0, 4 | |
@@ -975,9 +995,9 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.2: # %lor.lhs.false | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -989,9 +1009,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.4: # %lor.lhs.false19 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1006,7 +1026,7 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1020,7 +1040,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1050,9 +1070,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
+ srliw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
# %bb.12: # %lor.lhs.false90 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1079,7 +1099,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1096,9 +1116,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.18: # %lor.lhs.false145 | |
@@ -1106,16 +1127,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.19: # %if.end154 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.20: # %lor.lhs.false162 | |
@@ -1123,7 +1145,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.21: # %if.end171 | |
@@ -1133,9 +1155,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1146,7 +1169,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1156,9 +1179,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1169,7 +1193,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1182,9 +1206,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.26: # %lor.lhs.false217 | |
@@ -1192,16 +1217,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.27: # %if.end226 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.28: # %lor.lhs.false234 | |
@@ -1209,7 +1235,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.29: # %if.end243 | |
@@ -1219,11 +1245,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.30: # %lor.lhs.false253 | |
@@ -1231,7 +1258,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1241,11 +1268,12 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.32: # %lor.lhs.false270 | |
@@ -1253,7 +1281,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1266,10 +1294,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.34: # %lor.lhs.false289 | |
@@ -1277,17 +1305,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.35: # %if.end298 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.36: # %lor.lhs.false306 | |
@@ -1295,7 +1323,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a0, a0, 1 | |
- mul a0, a0, s8 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.37: # %if.end315 | |
@@ -1305,12 +1333,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.38: # %lor.lhs.false325 | |
@@ -1318,21 +1346,21 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.39: # %if.end334 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.40: # %lor.lhs.false342 | |
@@ -1340,9 +1368,9 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a2, a0, 1 | |
- mul a2, a2, s8 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.41: # %if.end351 | |
@@ -1352,9 +1380,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1366,7 +1395,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1377,9 +1406,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1391,7 +1421,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1405,9 +1435,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1422,7 +1453,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1436,9 +1467,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1453,7 +1485,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1505,8 +1537,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1525,8 +1557,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1549,8 +1581,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1571,8 +1603,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1591,8 +1623,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 29 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 61 | |
addw a0, a0, a2 | |
sraiw a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1600,9 +1632,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
addw a0, a0, a2 | |
sraiw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1610,8 +1642,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1638,9 +1670,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
add a2, a2, a0 | |
andi a2, a2, -2 | |
subw a0, a0, a2 | |
@@ -1649,8 +1681,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -2079,20 +2111,18 @@ main: # @main | |
bnez a1, .LBB24_51 | |
# %bb.100: # %for.end863 | |
li a0, 0 | |
- ld ra, 136(sp) # 8-byte Folded Reload | |
- ld s0, 128(sp) # 8-byte Folded Reload | |
- ld s1, 120(sp) # 8-byte Folded Reload | |
- ld s2, 112(sp) # 8-byte Folded Reload | |
- ld s3, 104(sp) # 8-byte Folded Reload | |
- ld s4, 96(sp) # 8-byte Folded Reload | |
- ld s5, 88(sp) # 8-byte Folded Reload | |
- ld s6, 80(sp) # 8-byte Folded Reload | |
- ld s7, 72(sp) # 8-byte Folded Reload | |
- ld s8, 64(sp) # 8-byte Folded Reload | |
- ld s9, 56(sp) # 8-byte Folded Reload | |
- ld s10, 48(sp) # 8-byte Folded Reload | |
- ld s11, 40(sp) # 8-byte Folded Reload | |
- addi sp, sp, 144 | |
+ ld ra, 120(sp) # 8-byte Folded Reload | |
+ ld s0, 112(sp) # 8-byte Folded Reload | |
+ ld s1, 104(sp) # 8-byte Folded Reload | |
+ ld s2, 96(sp) # 8-byte Folded Reload | |
+ ld s3, 88(sp) # 8-byte Folded Reload | |
+ ld s4, 80(sp) # 8-byte Folded Reload | |
+ ld s5, 72(sp) # 8-byte Folded Reload | |
+ ld s6, 64(sp) # 8-byte Folded Reload | |
+ ld s7, 56(sp) # 8-byte Folded Reload | |
+ ld s8, 48(sp) # 8-byte Folded Reload | |
+ ld s9, 40(sp) # 8-byte Folded Reload | |
+ addi sp, sp, 128 | |
ret | |
.LBB24_101: # %if.then | |
call abort | |
diff --git a/output_rv64imafdc_lp64_O3/20140622-1.s b/output_rv64imafdc_lp64_O3/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64_O3/20140622-1.s | |
+++ b/output_rv64imafdc_lp64_O3/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64_O3/loop-5.s b/output_rv64imafdc_lp64_O3/loop-5.s | |
index 4c4398adfe..a5bdfb93ff 100644 | |
--- a/output_rv64imafdc_lp64_O3/loop-5.s | |
+++ b/output_rv64imafdc_lp64_O3/loop-5.s | |
@@ -9,15 +9,16 @@ main: # @main | |
# %bb.0: # %entry | |
addi sp, sp, -16 | |
sd ra, 8(sp) # 8-byte Folded Spill | |
- lui a3, %hi(t) | |
- lwu a2, %lo(t)(a3) | |
- sext.w a0, a2 | |
+ lui a2, %hi(t) | |
+ lw a0, %lo(t)(a2) | |
li a1, 4 | |
bge a0, a1, .LBB0_9 | |
# %bb.1: # %ap.exit.i | |
+ slli a1, a0, 32 | |
+ srli a3, a1, 32 | |
addiw a1, a0, 1 | |
- sw a1, %lo(t)(a3) | |
- slli a2, a2, 2 | |
+ sw a1, %lo(t)(a2) | |
+ slli a2, a3, 2 | |
lui a3, %hi(a) | |
addi a3, a3, %lo(a) | |
add a2, a2, a3 | |
diff --git a/output_rv64imafdc_lp64_O3/pr22061-1.s b/output_rv64imafdc_lp64_O3/pr22061-1.s | |
index 141bfd37a9..277b8f7983 100644 | |
--- a/output_rv64imafdc_lp64_O3/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64_O3/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64_O3/pr51581-2.s b/output_rv64imafdc_lp64_O3/pr51581-2.s | |
index 7ce56aa11e..40ee3b4359 100644 | |
--- a/output_rv64imafdc_lp64_O3/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64_O3/pr51581-2.s | |
@@ -44,14 +44,14 @@ f2: # @f2 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB1_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -110,11 +110,13 @@ f4: # @f4 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, 18 | |
.LBB3_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
subw a4, a5, a4 | |
@@ -170,15 +172,15 @@ f6: # @f6 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, 19 | |
.LBB5_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -210,11 +212,10 @@ f7: # @f7 | |
addiw a6, a3, 1366 | |
.LBB6_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- sext.w a5, a4 | |
- mul a5, a5, a6 | |
+ lw a4, 0(a1) | |
+ mul a5, a4, a6 | |
srli a5, a5, 32 | |
- srli a3, a4, 31 | |
+ srliw a3, a4, 31 | |
addw a3, a3, a5 | |
slliw a5, a3, 1 | |
addw a3, a3, a5 | |
@@ -239,14 +240,14 @@ f8: # @f8 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB7_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -276,11 +277,10 @@ f9: # @f9 | |
li a6, -18 | |
.LBB8_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 34 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -306,11 +306,13 @@ f10: # @f10 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, -18 | |
.LBB9_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
addw a4, a4, a5 | |
@@ -339,11 +341,10 @@ f11: # @f11 | |
li a6, -19 | |
.LBB10_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 35 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -367,15 +368,15 @@ f12: # @f12 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, -19 | |
.LBB11_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -444,10 +445,9 @@ main: # @main | |
lui a2, 1 | |
lui a3, 349525 | |
addiw a6, a3, 1366 | |
- lui a4, 171 | |
+ lui a4, 699051 | |
addiw a4, a4, -1365 | |
- slli a4, a4, 12 | |
- addi a7, a4, -1365 | |
+ slli a7, a4, 32 | |
.LBB12_3: # %for.body5 | |
# =>This Inner Loop Header: Depth=1 | |
lw a5, 0(s0) | |
@@ -462,9 +462,10 @@ main: # @main | |
bne t0, a3, .LBB12_27 | |
# %bb.4: # %lor.lhs.false | |
# in Loop: Header=BB12_3 Depth=1 | |
- lwu a3, 0(s1) | |
+ lw a3, 0(s1) | |
lw t0, 0(a0) | |
- mul a5, a3, a7 | |
+ slli a5, a3, 32 | |
+ mulhu a5, a5, a7 | |
srli a5, a5, 33 | |
slliw a4, a5, 1 | |
addw a4, a4, a5 | |
@@ -491,24 +492,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_7: # %for.body22 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.8: # %lor.lhs.false29 | |
# in Loop: Header=BB12_7 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -536,10 +539,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_11: # %for.body43 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -553,9 +555,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.12: # %lor.lhs.false50 | |
# in Loop: Header=BB12_11 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
@@ -586,10 +589,9 @@ main: # @main | |
lui a4, 1 | |
lui a5, 349525 | |
addiw a6, a5, 1366 | |
- lui s1, 171 | |
+ lui s1, 699051 | |
addiw s1, s1, -1365 | |
- slli s1, s1, 12 | |
- addi a7, s1, -1365 | |
+ slli a7, s1, 32 | |
.LBB12_15: # %for.body64 | |
# =>This Inner Loop Header: Depth=1 | |
lw s0, 0(a2) | |
@@ -604,9 +606,10 @@ main: # @main | |
bne t0, a5, .LBB12_27 | |
# %bb.16: # %lor.lhs.false71 | |
# in Loop: Header=BB12_15 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t0, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 33 | |
slliw s1, s0, 1 | |
addw s1, s1, s0 | |
@@ -633,24 +636,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_19: # %for.body85 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.20: # %lor.lhs.false92 | |
# in Loop: Header=BB12_19 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -678,10 +683,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_23: # %for.body106 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -695,9 +699,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.24: # %lor.lhs.false113 | |
# in Loop: Header=BB12_23 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
diff --git a/output_rv64imafdc_lp64_O3/pr53645.s b/output_rv64imafdc_lp64_O3/pr53645.s | |
index 56bd435ece..7c352a0b5d 100644 | |
--- a/output_rv64imafdc_lp64_O3/pr53645.s | |
+++ b/output_rv64imafdc_lp64_O3/pr53645.s | |
@@ -188,7 +188,7 @@ sq1428: # @sq1428 | |
sr1428: # @sr1428 | |
# %bb.0: # %entry | |
lw a2, 4(a1) | |
- lwu a3, 8(a1) | |
+ lw a3, 8(a1) | |
lw a1, 12(a1) | |
slli a4, a2, 1 | |
srli a4, a4, 62 | |
@@ -200,7 +200,7 @@ sr1428: # @sr1428 | |
add a4, a4, a1 | |
andi a4, a4, -8 | |
subw a1, a1, a4 | |
- srli a4, a3, 31 | |
+ srliw a4, a3, 31 | |
add a4, a4, a3 | |
andi a4, a4, -2 | |
subw a3, a3, a4 | |
@@ -254,36 +254,44 @@ uq3333: # @uq3333 | |
.type ur3333,@function | |
ur3333: # @ur3333 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI9_0) | |
- ld a3, %lo(.LCPI9_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- srli a7, a4, 1 | |
- andi a4, a4, -2 | |
- addw a4, a4, a7 | |
- subw a7, a2, a4 | |
- mulhu a4, a1, a3 | |
- srli a2, a4, 1 | |
- andi a4, a4, -2 | |
- addw a2, a2, a4 | |
- subw a1, a1, a2 | |
- mulhu a2, a5, a3 | |
- srli a4, a2, 1 | |
- andi a2, a2, -2 | |
- addw a2, a2, a4 | |
- subw a2, a5, a2 | |
- mulhu a3, a6, a3 | |
+ lw t0, 12(a1) | |
+ lw t1, 8(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 4(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 0(a1) | |
+ lui a2, %hi(.LCPI9_0) | |
+ ld a2, %lo(.LCPI9_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 1 | |
andi a3, a3, -2 | |
addw a3, a3, a4 | |
- subw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a2, 8(a0) | |
- sw a1, 4(a0) | |
- sw a7, 0(a0) | |
+ subw a1, a1, a3 | |
+ mulhu a3, t2, a2 | |
+ srli a4, a3, 1 | |
+ andi a3, a3, -2 | |
+ addw a3, a3, a4 | |
+ subw a3, a5, a3 | |
+ mulhu a4, a7, a2 | |
+ srli a5, a4, 1 | |
+ andi a4, a4, -2 | |
+ addw a4, a4, a5 | |
+ subw a4, t1, a4 | |
+ mulhu a2, a6, a2 | |
+ srli a5, a2, 1 | |
+ andi a2, a2, -2 | |
+ addw a2, a2, a5 | |
+ subw a2, t0, a2 | |
+ sw a2, 12(a0) | |
+ sw a4, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end9: | |
.size ur3333, .Lfunc_end9-ur3333 | |
@@ -420,36 +428,44 @@ uq6565: # @uq6565 | |
.type ur6565,@function | |
ur6565: # @ur6565 | |
# %bb.0: # %entry | |
- lwu a2, 4(a1) | |
- lui a3, %hi(.LCPI13_0) | |
- ld a3, %lo(.LCPI13_0)(a3) | |
- lwu a6, 8(a1) | |
- lwu a7, 0(a1) | |
- lwu a1, 12(a1) | |
- mulhu a4, a2, a3 | |
- srli a5, a4, 2 | |
- andi a4, a4, -4 | |
- addw a4, a4, a5 | |
- subw a2, a2, a4 | |
- mulhu a3, a1, a3 | |
+ lw t0, 8(a1) | |
+ lw t1, 0(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 12(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 4(a1) | |
+ lui a2, %hi(.LCPI13_0) | |
+ ld a2, %lo(.LCPI13_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 2 | |
- lui a5, %hi(.LCPI13_1) | |
- ld a5, %lo(.LCPI13_1)(a5) | |
andi a3, a3, -4 | |
addw a3, a3, a4 | |
subw a1, a1, a3 | |
- mulhu a3, a7, a5 | |
+ mulhu a2, t2, a2 | |
+ srli a3, a2, 2 | |
+ lui a4, %hi(.LCPI13_1) | |
+ ld a4, %lo(.LCPI13_1)(a4) | |
+ andi a2, a2, -4 | |
+ addw a2, a2, a3 | |
+ subw a2, a5, a2 | |
+ mulhu a3, a7, a4 | |
srli a3, a3, 2 | |
- li a4, 6 | |
- mulw a3, a3, a4 | |
- subw a3, a7, a3 | |
- mulhu a5, a6, a5 | |
- srli a5, a5, 2 | |
- mulw a4, a5, a4 | |
- subw a4, a6, a4 | |
- sw a1, 12(a0) | |
+ li a5, 6 | |
+ mulw a3, a3, a5 | |
+ subw a3, t1, a3 | |
+ mulhu a4, a6, a4 | |
+ srli a4, a4, 2 | |
+ mulw a4, a4, a5 | |
+ subw a4, t0, a4 | |
+ sw a2, 12(a0) | |
sw a4, 8(a0) | |
- sw a2, 4(a0) | |
+ sw a1, 4(a0) | |
sw a3, 0(a0) | |
ret | |
.Lfunc_end13: | |
@@ -592,48 +608,50 @@ uq1414146: # @uq1414146 | |
.section .sdata,"aw",@progbits | |
.p2align 3 # -- Begin function ur1414146 | |
.LCPI17_0: | |
- .quad 5270498306774157605 # 0x4924924924924925 | |
-.LCPI17_1: | |
.quad -6148914691236517205 # 0xaaaaaaaaaaaaaaab | |
+.LCPI17_1: | |
+ .quad 5270498306774157605 # 0x4924924924924925 | |
.text | |
.globl ur1414146 | |
.p2align 1 | |
.type ur1414146,@function | |
ur1414146: # @ur1414146 | |
# %bb.0: # %entry | |
- lwu a6, 12(a1) | |
- lwu a3, 0(a1) | |
- lui a4, %hi(.LCPI17_0) | |
- ld a4, %lo(.LCPI17_0)(a4) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- srli a2, a3, 1 | |
- mulhu a2, a2, a4 | |
- srli a2, a2, 1 | |
- li a7, 14 | |
+ lw a6, 8(a1) | |
+ lw a3, 4(a1) | |
+ lw a4, 12(a1) | |
+ lui a5, %hi(.LCPI17_0) | |
+ ld a5, %lo(.LCPI17_0)(a5) | |
+ lw a1, 0(a1) | |
+ slli a2, a4, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ li a7, 6 | |
+ lui a5, %hi(.LCPI17_1) | |
+ ld a5, %lo(.LCPI17_1)(a5) | |
mulw a2, a2, a7 | |
- subw a2, a3, a2 | |
- srli a3, a1, 1 | |
- mulhu a3, a3, a4 | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a1, a1, a3 | |
- srli a3, a5, 1 | |
- mulhu a3, a3, a4 | |
- lui a4, %hi(.LCPI17_1) | |
- ld a4, %lo(.LCPI17_1)(a4) | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a3, a5, a3 | |
- mulhu a4, a6, a4 | |
- srli a4, a4, 2 | |
- li a5, 6 | |
- mulw a4, a4, a5 | |
- subw a4, a6, a4 | |
- sw a4, 12(a0) | |
- sw a3, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ subw a7, a4, a2 | |
+ srliw a4, a1, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ li a2, 14 | |
+ mulw a4, a4, a2 | |
+ subw a1, a1, a4 | |
+ srliw a4, a3, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a4, a4, a2 | |
+ subw a3, a3, a4 | |
+ srliw a4, a6, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a2, a4, a2 | |
+ subw a2, a6, a2 | |
+ sw a2, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
+ sw a7, 12(a0) | |
ret | |
.Lfunc_end17: | |
.size ur1414146, .Lfunc_end17-ur1414146 | |
@@ -788,48 +806,56 @@ uq7777: # @uq7777 | |
.type ur7777,@function | |
ur7777: # @ur7777 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI21_0) | |
- ld a3, %lo(.LCPI21_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a7, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- sub a5, a2, a4 | |
- srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a2, a2, a4 | |
- mulhu a4, a1, a3 | |
- sub a5, a1, a4 | |
+ lw a6, 12(a1) | |
+ lw a7, 8(a1) | |
+ slli a4, a6, 32 | |
+ lw t2, 4(a1) | |
+ srli t0, a4, 32 | |
+ slli a2, a7, 32 | |
+ srli t1, a2, 32 | |
+ slli a3, t2, 32 | |
+ lw a1, 0(a1) | |
+ lui a4, %hi(.LCPI21_0) | |
+ ld a4, %lo(.LCPI21_0)(a4) | |
+ srli a3, a3, 32 | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a5, a2, a4 | |
+ sub a2, a2, a5 | |
+ srli a2, a2, 1 | |
+ add a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ slliw a5, a2, 3 | |
+ subw a2, a2, a5 | |
+ addw a1, a1, a2 | |
+ mulhu a2, a3, a4 | |
+ sub a3, a3, a2 | |
+ srli a3, a3, 1 | |
+ add a2, a2, a3 | |
+ srli a2, a2, 2 | |
+ slliw a3, a2, 3 | |
+ subw a2, a2, a3 | |
+ addw a2, t2, a2 | |
+ mulhu a3, t1, a4 | |
+ sub a5, t1, a3 | |
srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a1, a1, a4 | |
- mulhu a4, a7, a3 | |
- sub a5, a7, a4 | |
+ add a3, a3, a5 | |
+ srli a3, a3, 2 | |
+ slliw a5, a3, 3 | |
+ subw a3, a3, a5 | |
+ addw a3, a7, a3 | |
+ mulhu a4, t0, a4 | |
+ sub a5, t0, a4 | |
srli a5, a5, 1 | |
add a4, a4, a5 | |
srli a4, a4, 2 | |
slliw a5, a4, 3 | |
subw a4, a4, a5 | |
- addw a4, a7, a4 | |
- mulhu a3, a6, a3 | |
- sub a5, a6, a3 | |
- srli a5, a5, 1 | |
- add a3, a3, a5 | |
- srli a3, a3, 2 | |
- slliw a5, a3, 3 | |
- subw a3, a3, a5 | |
- addw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a4, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ addw a4, a6, a4 | |
+ sw a4, 12(a0) | |
+ sw a3, 8(a0) | |
+ sw a2, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end21: | |
.size ur7777, .Lfunc_end21-ur7777 | |
@@ -931,43 +957,37 @@ sr7777: # @sr7777 | |
.type main,@function | |
main: # @main | |
# %bb.0: # %entry | |
- addi sp, sp, -144 | |
- sd ra, 136(sp) # 8-byte Folded Spill | |
- sd s0, 128(sp) # 8-byte Folded Spill | |
- sd s1, 120(sp) # 8-byte Folded Spill | |
- sd s2, 112(sp) # 8-byte Folded Spill | |
- sd s3, 104(sp) # 8-byte Folded Spill | |
- sd s4, 96(sp) # 8-byte Folded Spill | |
- sd s5, 88(sp) # 8-byte Folded Spill | |
- sd s6, 80(sp) # 8-byte Folded Spill | |
- sd s7, 72(sp) # 8-byte Folded Spill | |
- sd s8, 64(sp) # 8-byte Folded Spill | |
- sd s9, 56(sp) # 8-byte Folded Spill | |
- sd s10, 48(sp) # 8-byte Folded Spill | |
- sd s11, 40(sp) # 8-byte Folded Spill | |
+ addi sp, sp, -128 | |
+ sd ra, 120(sp) # 8-byte Folded Spill | |
+ sd s0, 112(sp) # 8-byte Folded Spill | |
+ sd s1, 104(sp) # 8-byte Folded Spill | |
+ sd s2, 96(sp) # 8-byte Folded Spill | |
+ sd s3, 88(sp) # 8-byte Folded Spill | |
+ sd s4, 80(sp) # 8-byte Folded Spill | |
+ sd s5, 72(sp) # 8-byte Folded Spill | |
+ sd s6, 64(sp) # 8-byte Folded Spill | |
+ sd s7, 56(sp) # 8-byte Folded Spill | |
+ sd s8, 48(sp) # 8-byte Folded Spill | |
+ sd s9, 40(sp) # 8-byte Folded Spill | |
li a0, 0 | |
li s3, 1 | |
lui a1, %hi(u) | |
addi s2, a1, %lo(u) | |
- addi s1, sp, 16 | |
- lui a1, 171 | |
- addiw a1, a1, -1365 | |
- slli a1, a1, 12 | |
- addi s4, a1, -1365 | |
+ addi s4, sp, 16 | |
lui a1, 699051 | |
addiw a1, a1, -1365 | |
- slli s5, a1, 32 | |
+ slli s1, a1, 32 | |
lui a1, 838861 | |
addiw a1, a1, -819 | |
- slli s6, a1, 32 | |
- li s7, 6 | |
+ slli s5, a1, 32 | |
+ li s6, 6 | |
lui a1, 299593 | |
slli a1, a1, 1 | |
- addi s8, a1, 1171 | |
- li s9, 14 | |
+ addi s7, a1, 1171 | |
+ li s8, 14 | |
lui a1, 149797 | |
- addiw s10, a1, -1755 | |
- slli s11, s10, 32 | |
+ addiw a1, a1, -1755 | |
+ slli s9, a1, 32 | |
.LBB24_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
slli a0, a0, 4 | |
@@ -975,9 +995,9 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.2: # %lor.lhs.false | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -989,9 +1009,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.4: # %lor.lhs.false19 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1006,7 +1026,7 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1020,7 +1040,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1050,9 +1070,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
+ srliw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
# %bb.12: # %lor.lhs.false90 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1079,7 +1099,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1096,9 +1116,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.18: # %lor.lhs.false145 | |
@@ -1106,16 +1127,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.19: # %if.end154 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.20: # %lor.lhs.false162 | |
@@ -1123,7 +1145,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.21: # %if.end171 | |
@@ -1133,9 +1155,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1146,7 +1169,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1156,9 +1179,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1169,7 +1193,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1182,9 +1206,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.26: # %lor.lhs.false217 | |
@@ -1192,16 +1217,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.27: # %if.end226 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.28: # %lor.lhs.false234 | |
@@ -1209,7 +1235,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.29: # %if.end243 | |
@@ -1219,11 +1245,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.30: # %lor.lhs.false253 | |
@@ -1231,7 +1258,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1241,11 +1268,12 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.32: # %lor.lhs.false270 | |
@@ -1253,7 +1281,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1266,10 +1294,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.34: # %lor.lhs.false289 | |
@@ -1277,17 +1305,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.35: # %if.end298 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.36: # %lor.lhs.false306 | |
@@ -1295,7 +1323,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a0, a0, 1 | |
- mul a0, a0, s8 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.37: # %if.end315 | |
@@ -1305,12 +1333,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.38: # %lor.lhs.false325 | |
@@ -1318,21 +1346,21 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.39: # %if.end334 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.40: # %lor.lhs.false342 | |
@@ -1340,9 +1368,9 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a2, a0, 1 | |
- mul a2, a2, s8 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.41: # %if.end351 | |
@@ -1352,9 +1380,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1366,7 +1395,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1377,9 +1406,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1391,7 +1421,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1405,9 +1435,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1422,7 +1453,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1436,9 +1467,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1453,7 +1485,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1505,8 +1537,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1525,8 +1557,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1549,8 +1581,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1571,8 +1603,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1591,8 +1623,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 29 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 61 | |
addw a0, a0, a2 | |
sraiw a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1600,9 +1632,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
addw a0, a0, a2 | |
sraiw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1610,8 +1642,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1638,9 +1670,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
add a2, a2, a0 | |
andi a2, a2, -2 | |
subw a0, a0, a2 | |
@@ -1649,8 +1681,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -2079,20 +2111,18 @@ main: # @main | |
bnez a1, .LBB24_51 | |
# %bb.100: # %for.end863 | |
li a0, 0 | |
- ld ra, 136(sp) # 8-byte Folded Reload | |
- ld s0, 128(sp) # 8-byte Folded Reload | |
- ld s1, 120(sp) # 8-byte Folded Reload | |
- ld s2, 112(sp) # 8-byte Folded Reload | |
- ld s3, 104(sp) # 8-byte Folded Reload | |
- ld s4, 96(sp) # 8-byte Folded Reload | |
- ld s5, 88(sp) # 8-byte Folded Reload | |
- ld s6, 80(sp) # 8-byte Folded Reload | |
- ld s7, 72(sp) # 8-byte Folded Reload | |
- ld s8, 64(sp) # 8-byte Folded Reload | |
- ld s9, 56(sp) # 8-byte Folded Reload | |
- ld s10, 48(sp) # 8-byte Folded Reload | |
- ld s11, 40(sp) # 8-byte Folded Reload | |
- addi sp, sp, 144 | |
+ ld ra, 120(sp) # 8-byte Folded Reload | |
+ ld s0, 112(sp) # 8-byte Folded Reload | |
+ ld s1, 104(sp) # 8-byte Folded Reload | |
+ ld s2, 96(sp) # 8-byte Folded Reload | |
+ ld s3, 88(sp) # 8-byte Folded Reload | |
+ ld s4, 80(sp) # 8-byte Folded Reload | |
+ ld s5, 72(sp) # 8-byte Folded Reload | |
+ ld s6, 64(sp) # 8-byte Folded Reload | |
+ ld s7, 56(sp) # 8-byte Folded Reload | |
+ ld s8, 48(sp) # 8-byte Folded Reload | |
+ ld s9, 40(sp) # 8-byte Folded Reload | |
+ addi sp, sp, 128 | |
ret | |
.LBB24_101: # %if.then | |
call abort | |
diff --git a/output_rv64imafdc_lp64_Os/20140622-1.s b/output_rv64imafdc_lp64_Os/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64_Os/20140622-1.s | |
+++ b/output_rv64imafdc_lp64_Os/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64_Os/pr22061-1.s b/output_rv64imafdc_lp64_Os/pr22061-1.s | |
index 141bfd37a9..277b8f7983 100644 | |
--- a/output_rv64imafdc_lp64_Os/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64_Os/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64_Os/pr51581-2.s b/output_rv64imafdc_lp64_Os/pr51581-2.s | |
index 7ce56aa11e..40ee3b4359 100644 | |
--- a/output_rv64imafdc_lp64_Os/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64_Os/pr51581-2.s | |
@@ -44,14 +44,14 @@ f2: # @f2 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB1_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -110,11 +110,13 @@ f4: # @f4 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, 18 | |
.LBB3_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
subw a4, a5, a4 | |
@@ -170,15 +172,15 @@ f6: # @f6 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, 19 | |
.LBB5_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -210,11 +212,10 @@ f7: # @f7 | |
addiw a6, a3, 1366 | |
.LBB6_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- sext.w a5, a4 | |
- mul a5, a5, a6 | |
+ lw a4, 0(a1) | |
+ mul a5, a4, a6 | |
srli a5, a5, 32 | |
- srli a3, a4, 31 | |
+ srliw a3, a4, 31 | |
addw a3, a3, a5 | |
slliw a5, a3, 1 | |
addw a3, a3, a5 | |
@@ -239,14 +240,14 @@ f8: # @f8 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB7_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -276,11 +277,10 @@ f9: # @f9 | |
li a6, -18 | |
.LBB8_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 34 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -306,11 +306,13 @@ f10: # @f10 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, -18 | |
.LBB9_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
addw a4, a4, a5 | |
@@ -339,11 +341,10 @@ f11: # @f11 | |
li a6, -19 | |
.LBB10_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 35 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -367,15 +368,15 @@ f12: # @f12 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, -19 | |
.LBB11_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -444,10 +445,9 @@ main: # @main | |
lui a2, 1 | |
lui a3, 349525 | |
addiw a6, a3, 1366 | |
- lui a4, 171 | |
+ lui a4, 699051 | |
addiw a4, a4, -1365 | |
- slli a4, a4, 12 | |
- addi a7, a4, -1365 | |
+ slli a7, a4, 32 | |
.LBB12_3: # %for.body5 | |
# =>This Inner Loop Header: Depth=1 | |
lw a5, 0(s0) | |
@@ -462,9 +462,10 @@ main: # @main | |
bne t0, a3, .LBB12_27 | |
# %bb.4: # %lor.lhs.false | |
# in Loop: Header=BB12_3 Depth=1 | |
- lwu a3, 0(s1) | |
+ lw a3, 0(s1) | |
lw t0, 0(a0) | |
- mul a5, a3, a7 | |
+ slli a5, a3, 32 | |
+ mulhu a5, a5, a7 | |
srli a5, a5, 33 | |
slliw a4, a5, 1 | |
addw a4, a4, a5 | |
@@ -491,24 +492,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_7: # %for.body22 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.8: # %lor.lhs.false29 | |
# in Loop: Header=BB12_7 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -536,10 +539,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_11: # %for.body43 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -553,9 +555,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.12: # %lor.lhs.false50 | |
# in Loop: Header=BB12_11 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
@@ -586,10 +589,9 @@ main: # @main | |
lui a4, 1 | |
lui a5, 349525 | |
addiw a6, a5, 1366 | |
- lui s1, 171 | |
+ lui s1, 699051 | |
addiw s1, s1, -1365 | |
- slli s1, s1, 12 | |
- addi a7, s1, -1365 | |
+ slli a7, s1, 32 | |
.LBB12_15: # %for.body64 | |
# =>This Inner Loop Header: Depth=1 | |
lw s0, 0(a2) | |
@@ -604,9 +606,10 @@ main: # @main | |
bne t0, a5, .LBB12_27 | |
# %bb.16: # %lor.lhs.false71 | |
# in Loop: Header=BB12_15 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t0, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 33 | |
slliw s1, s0, 1 | |
addw s1, s1, s0 | |
@@ -633,24 +636,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_19: # %for.body85 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.20: # %lor.lhs.false92 | |
# in Loop: Header=BB12_19 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -678,10 +683,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_23: # %for.body106 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -695,9 +699,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.24: # %lor.lhs.false113 | |
# in Loop: Header=BB12_23 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
diff --git a/output_rv64imafdc_lp64_Os/pr53645.s b/output_rv64imafdc_lp64_Os/pr53645.s | |
index 56bd435ece..7c352a0b5d 100644 | |
--- a/output_rv64imafdc_lp64_Os/pr53645.s | |
+++ b/output_rv64imafdc_lp64_Os/pr53645.s | |
@@ -188,7 +188,7 @@ sq1428: # @sq1428 | |
sr1428: # @sr1428 | |
# %bb.0: # %entry | |
lw a2, 4(a1) | |
- lwu a3, 8(a1) | |
+ lw a3, 8(a1) | |
lw a1, 12(a1) | |
slli a4, a2, 1 | |
srli a4, a4, 62 | |
@@ -200,7 +200,7 @@ sr1428: # @sr1428 | |
add a4, a4, a1 | |
andi a4, a4, -8 | |
subw a1, a1, a4 | |
- srli a4, a3, 31 | |
+ srliw a4, a3, 31 | |
add a4, a4, a3 | |
andi a4, a4, -2 | |
subw a3, a3, a4 | |
@@ -254,36 +254,44 @@ uq3333: # @uq3333 | |
.type ur3333,@function | |
ur3333: # @ur3333 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI9_0) | |
- ld a3, %lo(.LCPI9_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- srli a7, a4, 1 | |
- andi a4, a4, -2 | |
- addw a4, a4, a7 | |
- subw a7, a2, a4 | |
- mulhu a4, a1, a3 | |
- srli a2, a4, 1 | |
- andi a4, a4, -2 | |
- addw a2, a2, a4 | |
- subw a1, a1, a2 | |
- mulhu a2, a5, a3 | |
- srli a4, a2, 1 | |
- andi a2, a2, -2 | |
- addw a2, a2, a4 | |
- subw a2, a5, a2 | |
- mulhu a3, a6, a3 | |
+ lw t0, 12(a1) | |
+ lw t1, 8(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 4(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 0(a1) | |
+ lui a2, %hi(.LCPI9_0) | |
+ ld a2, %lo(.LCPI9_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 1 | |
andi a3, a3, -2 | |
addw a3, a3, a4 | |
- subw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a2, 8(a0) | |
- sw a1, 4(a0) | |
- sw a7, 0(a0) | |
+ subw a1, a1, a3 | |
+ mulhu a3, t2, a2 | |
+ srli a4, a3, 1 | |
+ andi a3, a3, -2 | |
+ addw a3, a3, a4 | |
+ subw a3, a5, a3 | |
+ mulhu a4, a7, a2 | |
+ srli a5, a4, 1 | |
+ andi a4, a4, -2 | |
+ addw a4, a4, a5 | |
+ subw a4, t1, a4 | |
+ mulhu a2, a6, a2 | |
+ srli a5, a2, 1 | |
+ andi a2, a2, -2 | |
+ addw a2, a2, a5 | |
+ subw a2, t0, a2 | |
+ sw a2, 12(a0) | |
+ sw a4, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end9: | |
.size ur3333, .Lfunc_end9-ur3333 | |
@@ -420,36 +428,44 @@ uq6565: # @uq6565 | |
.type ur6565,@function | |
ur6565: # @ur6565 | |
# %bb.0: # %entry | |
- lwu a2, 4(a1) | |
- lui a3, %hi(.LCPI13_0) | |
- ld a3, %lo(.LCPI13_0)(a3) | |
- lwu a6, 8(a1) | |
- lwu a7, 0(a1) | |
- lwu a1, 12(a1) | |
- mulhu a4, a2, a3 | |
- srli a5, a4, 2 | |
- andi a4, a4, -4 | |
- addw a4, a4, a5 | |
- subw a2, a2, a4 | |
- mulhu a3, a1, a3 | |
+ lw t0, 8(a1) | |
+ lw t1, 0(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 12(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 4(a1) | |
+ lui a2, %hi(.LCPI13_0) | |
+ ld a2, %lo(.LCPI13_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 2 | |
- lui a5, %hi(.LCPI13_1) | |
- ld a5, %lo(.LCPI13_1)(a5) | |
andi a3, a3, -4 | |
addw a3, a3, a4 | |
subw a1, a1, a3 | |
- mulhu a3, a7, a5 | |
+ mulhu a2, t2, a2 | |
+ srli a3, a2, 2 | |
+ lui a4, %hi(.LCPI13_1) | |
+ ld a4, %lo(.LCPI13_1)(a4) | |
+ andi a2, a2, -4 | |
+ addw a2, a2, a3 | |
+ subw a2, a5, a2 | |
+ mulhu a3, a7, a4 | |
srli a3, a3, 2 | |
- li a4, 6 | |
- mulw a3, a3, a4 | |
- subw a3, a7, a3 | |
- mulhu a5, a6, a5 | |
- srli a5, a5, 2 | |
- mulw a4, a5, a4 | |
- subw a4, a6, a4 | |
- sw a1, 12(a0) | |
+ li a5, 6 | |
+ mulw a3, a3, a5 | |
+ subw a3, t1, a3 | |
+ mulhu a4, a6, a4 | |
+ srli a4, a4, 2 | |
+ mulw a4, a4, a5 | |
+ subw a4, t0, a4 | |
+ sw a2, 12(a0) | |
sw a4, 8(a0) | |
- sw a2, 4(a0) | |
+ sw a1, 4(a0) | |
sw a3, 0(a0) | |
ret | |
.Lfunc_end13: | |
@@ -592,48 +608,50 @@ uq1414146: # @uq1414146 | |
.section .sdata,"aw",@progbits | |
.p2align 3 # -- Begin function ur1414146 | |
.LCPI17_0: | |
- .quad 5270498306774157605 # 0x4924924924924925 | |
-.LCPI17_1: | |
.quad -6148914691236517205 # 0xaaaaaaaaaaaaaaab | |
+.LCPI17_1: | |
+ .quad 5270498306774157605 # 0x4924924924924925 | |
.text | |
.globl ur1414146 | |
.p2align 1 | |
.type ur1414146,@function | |
ur1414146: # @ur1414146 | |
# %bb.0: # %entry | |
- lwu a6, 12(a1) | |
- lwu a3, 0(a1) | |
- lui a4, %hi(.LCPI17_0) | |
- ld a4, %lo(.LCPI17_0)(a4) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- srli a2, a3, 1 | |
- mulhu a2, a2, a4 | |
- srli a2, a2, 1 | |
- li a7, 14 | |
+ lw a6, 8(a1) | |
+ lw a3, 4(a1) | |
+ lw a4, 12(a1) | |
+ lui a5, %hi(.LCPI17_0) | |
+ ld a5, %lo(.LCPI17_0)(a5) | |
+ lw a1, 0(a1) | |
+ slli a2, a4, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ li a7, 6 | |
+ lui a5, %hi(.LCPI17_1) | |
+ ld a5, %lo(.LCPI17_1)(a5) | |
mulw a2, a2, a7 | |
- subw a2, a3, a2 | |
- srli a3, a1, 1 | |
- mulhu a3, a3, a4 | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a1, a1, a3 | |
- srli a3, a5, 1 | |
- mulhu a3, a3, a4 | |
- lui a4, %hi(.LCPI17_1) | |
- ld a4, %lo(.LCPI17_1)(a4) | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a3, a5, a3 | |
- mulhu a4, a6, a4 | |
- srli a4, a4, 2 | |
- li a5, 6 | |
- mulw a4, a4, a5 | |
- subw a4, a6, a4 | |
- sw a4, 12(a0) | |
- sw a3, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ subw a7, a4, a2 | |
+ srliw a4, a1, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ li a2, 14 | |
+ mulw a4, a4, a2 | |
+ subw a1, a1, a4 | |
+ srliw a4, a3, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a4, a4, a2 | |
+ subw a3, a3, a4 | |
+ srliw a4, a6, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a2, a4, a2 | |
+ subw a2, a6, a2 | |
+ sw a2, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
+ sw a7, 12(a0) | |
ret | |
.Lfunc_end17: | |
.size ur1414146, .Lfunc_end17-ur1414146 | |
@@ -788,48 +806,56 @@ uq7777: # @uq7777 | |
.type ur7777,@function | |
ur7777: # @ur7777 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI21_0) | |
- ld a3, %lo(.LCPI21_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a7, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- sub a5, a2, a4 | |
- srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a2, a2, a4 | |
- mulhu a4, a1, a3 | |
- sub a5, a1, a4 | |
+ lw a6, 12(a1) | |
+ lw a7, 8(a1) | |
+ slli a4, a6, 32 | |
+ lw t2, 4(a1) | |
+ srli t0, a4, 32 | |
+ slli a2, a7, 32 | |
+ srli t1, a2, 32 | |
+ slli a3, t2, 32 | |
+ lw a1, 0(a1) | |
+ lui a4, %hi(.LCPI21_0) | |
+ ld a4, %lo(.LCPI21_0)(a4) | |
+ srli a3, a3, 32 | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a5, a2, a4 | |
+ sub a2, a2, a5 | |
+ srli a2, a2, 1 | |
+ add a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ slliw a5, a2, 3 | |
+ subw a2, a2, a5 | |
+ addw a1, a1, a2 | |
+ mulhu a2, a3, a4 | |
+ sub a3, a3, a2 | |
+ srli a3, a3, 1 | |
+ add a2, a2, a3 | |
+ srli a2, a2, 2 | |
+ slliw a3, a2, 3 | |
+ subw a2, a2, a3 | |
+ addw a2, t2, a2 | |
+ mulhu a3, t1, a4 | |
+ sub a5, t1, a3 | |
srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a1, a1, a4 | |
- mulhu a4, a7, a3 | |
- sub a5, a7, a4 | |
+ add a3, a3, a5 | |
+ srli a3, a3, 2 | |
+ slliw a5, a3, 3 | |
+ subw a3, a3, a5 | |
+ addw a3, a7, a3 | |
+ mulhu a4, t0, a4 | |
+ sub a5, t0, a4 | |
srli a5, a5, 1 | |
add a4, a4, a5 | |
srli a4, a4, 2 | |
slliw a5, a4, 3 | |
subw a4, a4, a5 | |
- addw a4, a7, a4 | |
- mulhu a3, a6, a3 | |
- sub a5, a6, a3 | |
- srli a5, a5, 1 | |
- add a3, a3, a5 | |
- srli a3, a3, 2 | |
- slliw a5, a3, 3 | |
- subw a3, a3, a5 | |
- addw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a4, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ addw a4, a6, a4 | |
+ sw a4, 12(a0) | |
+ sw a3, 8(a0) | |
+ sw a2, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end21: | |
.size ur7777, .Lfunc_end21-ur7777 | |
@@ -931,43 +957,37 @@ sr7777: # @sr7777 | |
.type main,@function | |
main: # @main | |
# %bb.0: # %entry | |
- addi sp, sp, -144 | |
- sd ra, 136(sp) # 8-byte Folded Spill | |
- sd s0, 128(sp) # 8-byte Folded Spill | |
- sd s1, 120(sp) # 8-byte Folded Spill | |
- sd s2, 112(sp) # 8-byte Folded Spill | |
- sd s3, 104(sp) # 8-byte Folded Spill | |
- sd s4, 96(sp) # 8-byte Folded Spill | |
- sd s5, 88(sp) # 8-byte Folded Spill | |
- sd s6, 80(sp) # 8-byte Folded Spill | |
- sd s7, 72(sp) # 8-byte Folded Spill | |
- sd s8, 64(sp) # 8-byte Folded Spill | |
- sd s9, 56(sp) # 8-byte Folded Spill | |
- sd s10, 48(sp) # 8-byte Folded Spill | |
- sd s11, 40(sp) # 8-byte Folded Spill | |
+ addi sp, sp, -128 | |
+ sd ra, 120(sp) # 8-byte Folded Spill | |
+ sd s0, 112(sp) # 8-byte Folded Spill | |
+ sd s1, 104(sp) # 8-byte Folded Spill | |
+ sd s2, 96(sp) # 8-byte Folded Spill | |
+ sd s3, 88(sp) # 8-byte Folded Spill | |
+ sd s4, 80(sp) # 8-byte Folded Spill | |
+ sd s5, 72(sp) # 8-byte Folded Spill | |
+ sd s6, 64(sp) # 8-byte Folded Spill | |
+ sd s7, 56(sp) # 8-byte Folded Spill | |
+ sd s8, 48(sp) # 8-byte Folded Spill | |
+ sd s9, 40(sp) # 8-byte Folded Spill | |
li a0, 0 | |
li s3, 1 | |
lui a1, %hi(u) | |
addi s2, a1, %lo(u) | |
- addi s1, sp, 16 | |
- lui a1, 171 | |
- addiw a1, a1, -1365 | |
- slli a1, a1, 12 | |
- addi s4, a1, -1365 | |
+ addi s4, sp, 16 | |
lui a1, 699051 | |
addiw a1, a1, -1365 | |
- slli s5, a1, 32 | |
+ slli s1, a1, 32 | |
lui a1, 838861 | |
addiw a1, a1, -819 | |
- slli s6, a1, 32 | |
- li s7, 6 | |
+ slli s5, a1, 32 | |
+ li s6, 6 | |
lui a1, 299593 | |
slli a1, a1, 1 | |
- addi s8, a1, 1171 | |
- li s9, 14 | |
+ addi s7, a1, 1171 | |
+ li s8, 14 | |
lui a1, 149797 | |
- addiw s10, a1, -1755 | |
- slli s11, s10, 32 | |
+ addiw a1, a1, -1755 | |
+ slli s9, a1, 32 | |
.LBB24_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
slli a0, a0, 4 | |
@@ -975,9 +995,9 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.2: # %lor.lhs.false | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -989,9 +1009,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.4: # %lor.lhs.false19 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1006,7 +1026,7 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1020,7 +1040,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1050,9 +1070,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
+ srliw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
# %bb.12: # %lor.lhs.false90 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1079,7 +1099,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1096,9 +1116,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.18: # %lor.lhs.false145 | |
@@ -1106,16 +1127,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.19: # %if.end154 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.20: # %lor.lhs.false162 | |
@@ -1123,7 +1145,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.21: # %if.end171 | |
@@ -1133,9 +1155,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1146,7 +1169,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1156,9 +1179,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1169,7 +1193,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1182,9 +1206,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.26: # %lor.lhs.false217 | |
@@ -1192,16 +1217,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.27: # %if.end226 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.28: # %lor.lhs.false234 | |
@@ -1209,7 +1235,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.29: # %if.end243 | |
@@ -1219,11 +1245,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.30: # %lor.lhs.false253 | |
@@ -1231,7 +1258,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1241,11 +1268,12 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.32: # %lor.lhs.false270 | |
@@ -1253,7 +1281,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1266,10 +1294,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.34: # %lor.lhs.false289 | |
@@ -1277,17 +1305,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.35: # %if.end298 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.36: # %lor.lhs.false306 | |
@@ -1295,7 +1323,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a0, a0, 1 | |
- mul a0, a0, s8 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.37: # %if.end315 | |
@@ -1305,12 +1333,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.38: # %lor.lhs.false325 | |
@@ -1318,21 +1346,21 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.39: # %if.end334 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.40: # %lor.lhs.false342 | |
@@ -1340,9 +1368,9 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a2, a0, 1 | |
- mul a2, a2, s8 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.41: # %if.end351 | |
@@ -1352,9 +1380,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1366,7 +1395,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1377,9 +1406,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1391,7 +1421,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1405,9 +1435,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1422,7 +1453,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1436,9 +1467,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1453,7 +1485,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1505,8 +1537,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1525,8 +1557,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1549,8 +1581,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1571,8 +1603,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1591,8 +1623,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 29 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 61 | |
addw a0, a0, a2 | |
sraiw a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1600,9 +1632,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
addw a0, a0, a2 | |
sraiw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1610,8 +1642,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1638,9 +1670,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
add a2, a2, a0 | |
andi a2, a2, -2 | |
subw a0, a0, a2 | |
@@ -1649,8 +1681,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -2079,20 +2111,18 @@ main: # @main | |
bnez a1, .LBB24_51 | |
# %bb.100: # %for.end863 | |
li a0, 0 | |
- ld ra, 136(sp) # 8-byte Folded Reload | |
- ld s0, 128(sp) # 8-byte Folded Reload | |
- ld s1, 120(sp) # 8-byte Folded Reload | |
- ld s2, 112(sp) # 8-byte Folded Reload | |
- ld s3, 104(sp) # 8-byte Folded Reload | |
- ld s4, 96(sp) # 8-byte Folded Reload | |
- ld s5, 88(sp) # 8-byte Folded Reload | |
- ld s6, 80(sp) # 8-byte Folded Reload | |
- ld s7, 72(sp) # 8-byte Folded Reload | |
- ld s8, 64(sp) # 8-byte Folded Reload | |
- ld s9, 56(sp) # 8-byte Folded Reload | |
- ld s10, 48(sp) # 8-byte Folded Reload | |
- ld s11, 40(sp) # 8-byte Folded Reload | |
- addi sp, sp, 144 | |
+ ld ra, 120(sp) # 8-byte Folded Reload | |
+ ld s0, 112(sp) # 8-byte Folded Reload | |
+ ld s1, 104(sp) # 8-byte Folded Reload | |
+ ld s2, 96(sp) # 8-byte Folded Reload | |
+ ld s3, 88(sp) # 8-byte Folded Reload | |
+ ld s4, 80(sp) # 8-byte Folded Reload | |
+ ld s5, 72(sp) # 8-byte Folded Reload | |
+ ld s6, 64(sp) # 8-byte Folded Reload | |
+ ld s7, 56(sp) # 8-byte Folded Reload | |
+ ld s8, 48(sp) # 8-byte Folded Reload | |
+ ld s9, 40(sp) # 8-byte Folded Reload | |
+ addi sp, sp, 128 | |
ret | |
.LBB24_101: # %if.then | |
call abort | |
diff --git a/output_rv64imafdc_lp64_Oz/20140622-1.s b/output_rv64imafdc_lp64_Oz/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64_Oz/20140622-1.s | |
+++ b/output_rv64imafdc_lp64_Oz/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64_Oz/pr22061-1.s b/output_rv64imafdc_lp64_Oz/pr22061-1.s | |
index 141bfd37a9..277b8f7983 100644 | |
--- a/output_rv64imafdc_lp64_Oz/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64_Oz/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64d_O0/20140622-1.s b/output_rv64imafdc_lp64d_O0/20140622-1.s | |
index fb866edf04..6de9373fe4 100644 | |
--- a/output_rv64imafdc_lp64d_O0/20140622-1.s | |
+++ b/output_rv64imafdc_lp64d_O0/20140622-1.s | |
@@ -14,11 +14,13 @@ test: # @test | |
# kill: def $x11 killed $x10 | |
sw a0, -20(s0) | |
lui a0, %hi(p) | |
- lwu a1, %lo(p)(a0) | |
+ lw a1, %lo(p)(a0) | |
lw a0, -20(s0) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ld ra, 24(sp) # 8-byte Folded Reload | |
ld s0, 16(sp) # 8-byte Folded Reload | |
diff --git a/output_rv64imafdc_lp64d_O0/loop-2.s b/output_rv64imafdc_lp64d_O0/loop-2.s | |
index d1868065b9..8589e2f437 100644 | |
--- a/output_rv64imafdc_lp64d_O0/loop-2.s | |
+++ b/output_rv64imafdc_lp64d_O0/loop-2.s | |
@@ -24,11 +24,12 @@ f: # @f | |
j .LBB0_2 | |
.LBB0_2: # %for.body | |
# in Loop: Header=BB0_1 Depth=1 | |
- lwu a1, -28(s0) | |
- addiw a0, a1, -2 | |
- slli a2, a1, 2 | |
+ lw a2, -28(s0) | |
+ addiw a0, a2, -2 | |
lui a1, %hi(a) | |
addi a1, a1, %lo(a) | |
+ slli a2, a2, 32 | |
+ srli a2, a2, 30 | |
add a1, a1, a2 | |
sw a0, 0(a1) | |
j .LBB0_3 | |
diff --git a/output_rv64imafdc_lp64d_O0/memcpy-1.s b/output_rv64imafdc_lp64d_O0/memcpy-1.s | |
index 88ddd9a854..a996ff67b2 100644 | |
--- a/output_rv64imafdc_lp64d_O0/memcpy-1.s | |
+++ b/output_rv64imafdc_lp64d_O0/memcpy-1.s | |
@@ -53,11 +53,13 @@ main: # @main | |
j .LBB1_2 | |
.LBB1_2: # %for.body | |
# in Loop: Header=BB1_1 Depth=1 | |
- lwu a0, -32(s0) | |
+ lw a0, -32(s0) | |
+ slli a1, a0, 32 | |
+ srli a2, a1, 32 | |
lui a1, 1048544 | |
addiw a1, a1, -32 | |
add a1, a1, s0 | |
- add a1, a1, a0 | |
+ add a1, a1, a2 | |
sb a0, 0(a1) | |
lwu a1, -32(s0) | |
lui a0, 1048512 | |
@@ -93,11 +95,13 @@ main: # @main | |
j .LBB1_6 | |
.LBB1_6: # %for.body7 | |
# in Loop: Header=BB1_5 Depth=1 | |
- lwu a1, -32(s0) | |
+ lw a1, -32(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 32 | |
lui a0, 1048512 | |
addiw a0, a0, -32 | |
add a0, a0, s0 | |
- add a0, a0, a1 | |
+ add a0, a0, a2 | |
lbu a0, 0(a0) | |
andi a1, a1, 255 | |
beq a0, a1, .LBB1_8 | |
@@ -171,11 +175,13 @@ main: # @main | |
j .LBB1_18 | |
.LBB1_18: # %for.body38 | |
# in Loop: Header=BB1_17 Depth=1 | |
- lwu a1, -32(s0) | |
+ lw a1, -32(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 32 | |
lui a0, 1048512 | |
addiw a0, a0, -32 | |
add a0, a0, s0 | |
- add a0, a0, a1 | |
+ add a0, a0, a2 | |
lbu a0, 0(a0) | |
andi a1, a1, 255 | |
beq a0, a1, .LBB1_20 | |
@@ -256,11 +262,13 @@ main: # @main | |
j .LBB1_30 | |
.LBB1_30: # %for.body71 | |
# in Loop: Header=BB1_29 Depth=1 | |
- lwu a1, -32(s0) | |
+ lw a1, -32(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 32 | |
lui a0, 1048512 | |
addiw a0, a0, -32 | |
add a0, a0, s0 | |
- add a0, a0, a1 | |
+ add a0, a0, a2 | |
lbu a0, 0(a0) | |
andi a1, a1, 255 | |
beq a0, a1, .LBB1_32 | |
@@ -323,11 +331,13 @@ main: # @main | |
j .LBB1_36 | |
.LBB1_36: # %for.body91 | |
# in Loop: Header=BB1_35 Depth=1 | |
- lwu a1, -32(s0) | |
+ lw a1, -32(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 32 | |
lui a0, 1048512 | |
addiw a0, a0, -32 | |
add a0, a0, s0 | |
- add a0, a0, a1 | |
+ add a0, a0, a2 | |
lbu a0, 0(a0) | |
andi a1, a1, 255 | |
beq a0, a1, .LBB1_38 | |
diff --git a/output_rv64imafdc_lp64d_O0/pr22061-1.s b/output_rv64imafdc_lp64d_O0/pr22061-1.s | |
index 8afd95f7b7..acaf8a29cd 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr22061-1.s | |
@@ -29,9 +29,11 @@ bar: # @bar | |
addi s0, sp, 32 | |
sd a0, -24(s0) | |
lui a0, %hi(N) | |
- lwu a0, %lo(N)(a0) | |
+ lw a0, %lo(N)(a0) | |
+ slli a1, a0, 32 | |
+ srli a2, a1, 32 | |
ld a1, -24(s0) | |
- add a1, a1, a0 | |
+ add a1, a1, a2 | |
sb a0, 0(a1) | |
ld ra, 24(sp) # 8-byte Folded Reload | |
ld s0, 16(sp) # 8-byte Folded Reload | |
diff --git a/output_rv64imafdc_lp64d_O0/pr37573.s b/output_rv64imafdc_lp64d_O0/pr37573.s | |
index 48df844a59..4c5b46eea9 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr37573.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr37573.s | |
@@ -88,7 +88,7 @@ bar: # @bar | |
lui a0, 1048575 | |
addiw a0, a0, 1540 | |
add a0, a0, s0 | |
- lwu a2, 0(a0) | |
+ lw a2, 0(a0) | |
lui a0, 1048575 | |
addiw a0, a0, 1528 | |
add a0, a0, s0 | |
@@ -97,14 +97,15 @@ bar: # @bar | |
slli a0, a0, 32 | |
srli a0, a0, 30 | |
add a0, a0, a1 | |
- lwu a3, 0(a0) | |
- srli a0, a3, 30 | |
+ lw a3, 0(a0) | |
+ srliw a0, a3, 30 | |
xor a0, a0, a3 | |
lui a3, 442489 | |
addiw a3, a3, -1691 | |
mulw a0, a0, a3 | |
addw a0, a0, a2 | |
- slli a2, a2, 2 | |
+ slli a2, a2, 32 | |
+ srli a2, a2, 30 | |
add a1, a1, a2 | |
sw a0, 0(a1) | |
j .LBB1_3 | |
@@ -191,15 +192,16 @@ foo: # @foo | |
.LBB2_3: # %for.body | |
# in Loop: Header=BB2_2 Depth=1 | |
ld a2, -40(s0) | |
- lwu a3, -44(s0) | |
- slli a0, a3, 2 | |
+ lw a3, -44(s0) | |
+ slli a0, a3, 32 | |
+ srli a0, a0, 30 | |
add a1, a2, a0 | |
lw a5, 0(a1) | |
addiw a0, a3, 1 | |
slli a0, a0, 32 | |
srli a0, a0, 30 | |
add a0, a0, a2 | |
- lwu a4, 0(a0) | |
+ lw a4, 0(a0) | |
xor a0, a5, a4 | |
lui a6, 524288 | |
addiw a6, a6, -2 | |
@@ -236,26 +238,26 @@ foo: # @foo | |
sd a1, 0(a2) | |
lw a0, 0(a0) | |
sw a0, -28(s0) | |
- lwu a0, -28(s0) | |
- srli a1, a0, 11 | |
+ lw a0, -28(s0) | |
+ srliw a1, a0, 11 | |
xor a0, a0, a1 | |
sw a0, -28(s0) | |
- lwu a0, -28(s0) | |
+ lw a0, -28(s0) | |
lui a1, 5030 | |
addiw a1, a1, -1875 | |
and a1, a1, a0 | |
slli a1, a1, 7 | |
xor a0, a0, a1 | |
sw a0, -28(s0) | |
- lwu a0, -28(s0) | |
+ lw a0, -28(s0) | |
lui a1, 30 | |
addiw a1, a1, -116 | |
and a1, a1, a0 | |
slli a1, a1, 15 | |
xor a0, a0, a1 | |
sw a0, -28(s0) | |
- lwu a0, -28(s0) | |
- srli a1, a0, 18 | |
+ lw a0, -28(s0) | |
+ srliw a1, a0, 18 | |
xor a0, a0, a1 | |
sw a0, -28(s0) | |
lwu a0, -28(s0) | |
diff --git a/output_rv64imafdc_lp64d_O0/pr40493.s b/output_rv64imafdc_lp64d_O0/pr40493.s | |
index de6fe0e223..29149b1f4e 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr40493.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr40493.s | |
@@ -52,8 +52,9 @@ main: # @main | |
.LBB0_1: # %if.then | |
call abort | |
.LBB0_2: # %if.end | |
- lhu a0, -62(s0) | |
- andi a0, a0, 1 | |
+ lw a0, -64(s0) | |
+ slli a0, a0, 47 | |
+ srli a0, a0, 63 | |
beqz a0, .LBB0_4 | |
j .LBB0_3 | |
.LBB0_3: # %if.then15 | |
diff --git a/output_rv64imafdc_lp64d_O0/pr51581-2.s b/output_rv64imafdc_lp64d_O0/pr51581-2.s | |
index 0a104e0d42..29103a43ae 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr51581-2.s | |
@@ -83,12 +83,12 @@ f2: # @f2 | |
lui a0, %hi(b) | |
addi a0, a0, %lo(b) | |
add a0, a0, a2 | |
- lwu a0, 0(a0) | |
- lui a1, 171 | |
- addiw a1, a1, -1365 | |
- slli a1, a1, 12 | |
- addi a1, a1, -1365 | |
- mul a1, a0, a1 | |
+ lw a0, 0(a0) | |
+ slli a1, a0, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a1, a1, a3 | |
srli a3, a1, 33 | |
slliw a1, a3, 1 | |
addw a1, a1, a3 | |
@@ -193,10 +193,12 @@ f4: # @f4 | |
lui a0, %hi(b) | |
addi a0, a0, %lo(b) | |
add a0, a0, a2 | |
- lwu a0, 0(a0) | |
- lui a1, 233017 | |
- addiw a1, a1, -455 | |
- mul a1, a0, a1 | |
+ lw a0, 0(a0) | |
+ slli a1, a0, 32 | |
+ lui a3, 233017 | |
+ addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
+ mulhu a1, a1, a3 | |
srli a1, a1, 34 | |
li a3, 18 | |
mulw a1, a1, a3 | |
@@ -301,12 +303,12 @@ f6: # @f6 | |
lui a0, %hi(b) | |
addi a0, a0, %lo(b) | |
add a0, a0, a2 | |
- lwu a0, 0(a0) | |
- lui a1, 175 | |
- addiw a1, a1, 647 | |
- slli a1, a1, 12 | |
- addi a1, a1, -1077 | |
- mul a1, a0, a1 | |
+ lw a0, 0(a0) | |
+ slli a1, a0, 32 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a3, a3, 32 | |
+ mulhu a1, a1, a3 | |
srli a3, a1, 32 | |
subw a1, a0, a3 | |
srliw a1, a1, 1 | |
@@ -814,12 +816,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -884,10 +886,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 233017 | |
- addiw a2, a2, -455 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 233017 | |
+ addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 18 | |
mulw a2, a2, a3 | |
@@ -952,12 +956,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 175 | |
- addiw a2, a2, 647 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1077 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -1026,12 +1030,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1096,10 +1100,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 233017 | |
- addiw a2, a2, -455 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 233017 | |
+ addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 18 | |
mulw a2, a2, a3 | |
@@ -1164,12 +1170,12 @@ main: # @main | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 175 | |
- addiw a2, a2, 647 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1077 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
diff --git a/output_rv64imafdc_lp64d_O0/pr53645.s b/output_rv64imafdc_lp64d_O0/pr53645.s | |
index 9f6f143909..854ac29016 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr53645.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr53645.s | |
@@ -1372,12 +1372,12 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1392,12 +1392,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1417,12 +1417,12 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 8(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1437,12 +1437,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 4(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 33 | |
slliw a2, a3, 1 | |
addw a2, a2, a3 | |
@@ -1552,12 +1552,12 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 6 | |
mulw a2, a2, a3 | |
@@ -1572,12 +1572,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 205 | |
- addiw a2, a2, -819 | |
- slli a2, a2, 12 | |
- addi a2, a2, -819 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 838861 | |
+ addiw a3, a3, -819 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 34 | |
slliw a2, a3, 2 | |
addw a2, a2, a3 | |
@@ -1597,12 +1597,12 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 8(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 6 | |
mulw a2, a2, a3 | |
@@ -1617,12 +1617,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- lui a2, 205 | |
- addiw a2, a2, -819 | |
- slli a2, a2, 12 | |
- addi a2, a2, -819 | |
- mul a2, a1, a2 | |
+ lw a1, 4(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 838861 | |
+ addiw a3, a3, -819 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 34 | |
slliw a2, a3, 2 | |
addw a2, a2, a3 | |
@@ -1732,8 +1732,8 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- srli a2, a1, 1 | |
+ lw a1, 0(a1) | |
+ srliw a2, a1, 1 | |
lui a3, 299593 | |
slli a3, a3, 1 | |
addi a3, a3, 1171 | |
@@ -1752,12 +1752,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 171 | |
- addiw a2, a2, -1365 | |
- slli a2, a2, 12 | |
- addi a2, a2, -1365 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 699051 | |
+ addiw a3, a3, -1365 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 34 | |
li a3, 6 | |
mulw a2, a2, a3 | |
@@ -1777,8 +1777,8 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- srli a2, a1, 1 | |
+ lw a1, 8(a1) | |
+ srliw a2, a1, 1 | |
lui a3, 299593 | |
slli a3, a3, 1 | |
addi a3, a3, 1171 | |
@@ -1797,8 +1797,8 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- srli a2, a1, 1 | |
+ lw a1, 4(a1) | |
+ srliw a2, a1, 1 | |
lui a3, 299593 | |
slli a3, a3, 1 | |
addi a3, a3, 1171 | |
@@ -1828,10 +1828,12 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a1, a1, a2 | |
srliw a1, a1, 1 | |
@@ -1847,10 +1849,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a1, a1, a2 | |
srliw a1, a1, 1 | |
@@ -1871,10 +1875,12 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 8(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a1, a1, a2 | |
srliw a1, a1, 1 | |
@@ -1890,10 +1896,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 4(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a1, a1, a2 | |
srliw a1, a1, 1 | |
@@ -1920,10 +1928,12 @@ main: # @main | |
lw a2, -100(s0) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 0(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 0(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -1942,10 +1952,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 12(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 12(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -1969,10 +1981,12 @@ main: # @main | |
addi a1, a1, %lo(u) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 8(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -1991,10 +2005,12 @@ main: # @main | |
lui a1, %hi(u) | |
addi a1, a1, %lo(u) | |
add a1, a1, a2 | |
- lwu a1, 4(a1) | |
- lui a2, 149797 | |
- addiw a2, a2, -1755 | |
- mul a2, a1, a2 | |
+ lw a1, 4(a1) | |
+ slli a2, a1, 32 | |
+ lui a3, 149797 | |
+ addiw a3, a3, -1755 | |
+ slli a3, a3, 32 | |
+ mulhu a2, a2, a3 | |
srli a3, a2, 32 | |
subw a2, a1, a3 | |
srliw a2, a2, 1 | |
@@ -2231,8 +2247,8 @@ main: # @main | |
addi a1, a1, %lo(s) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- srli a2, a1, 31 | |
+ lw a1, 8(a1) | |
+ srliw a2, a1, 31 | |
addw a1, a1, a2 | |
sraiw a1, a1, 1 | |
bne a0, a1, .LBB24_95 | |
@@ -2297,8 +2313,8 @@ main: # @main | |
addi a1, a1, %lo(s) | |
slli a2, a2, 4 | |
add a1, a1, a2 | |
- lwu a1, 8(a1) | |
- srli a2, a1, 31 | |
+ lw a1, 8(a1) | |
+ srliw a2, a1, 31 | |
add a2, a2, a1 | |
andi a2, a2, -2 | |
subw a1, a1, a2 | |
diff --git a/output_rv64imafdc_lp64d_O0/pr65401.s b/output_rv64imafdc_lp64d_O0/pr65401.s | |
index 0d1ed420e0..2a3022dd2a 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr65401.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr65401.s | |
@@ -26,13 +26,13 @@ foo: # @foo | |
.LBB0_2: # %for.body | |
# in Loop: Header=BB0_1 Depth=1 | |
ld a1, -40(s0) | |
- lwu a0, -28(s0) | |
- slli a2, a0, 1 | |
- slli a0, a2, 32 | |
+ lw a2, -28(s0) | |
+ slli a3, a2, 1 | |
+ slli a0, a3, 32 | |
srli a0, a0, 32 | |
add a0, a0, a1 | |
lbu a0, 0(a0) | |
- ori a3, a2, 1 | |
+ ori a3, a3, 1 | |
slli a3, a3, 32 | |
srli a3, a3, 32 | |
add a1, a1, a3 | |
@@ -40,6 +40,8 @@ foo: # @foo | |
slli a1, a1, 8 | |
or a0, a0, a1 | |
ld a1, -24(s0) | |
+ slli a2, a2, 32 | |
+ srli a2, a2, 31 | |
add a1, a1, a2 | |
sh a0, 0(a1) | |
j .LBB0_3 | |
@@ -81,20 +83,22 @@ bar: # @bar | |
.LBB1_2: # %for.body | |
# in Loop: Header=BB1_1 Depth=1 | |
ld a1, -40(s0) | |
- lwu a0, -28(s0) | |
- slli a2, a0, 1 | |
- slli a0, a2, 32 | |
+ lw a2, -28(s0) | |
+ slli a3, a2, 1 | |
+ slli a0, a3, 32 | |
srli a0, a0, 32 | |
add a0, a0, a1 | |
lb a0, 0(a0) | |
slli a0, a0, 8 | |
- ori a3, a2, 1 | |
+ ori a3, a3, 1 | |
slli a3, a3, 32 | |
srli a3, a3, 32 | |
add a1, a1, a3 | |
lbu a1, 0(a1) | |
or a0, a0, a1 | |
ld a1, -24(s0) | |
+ slli a2, a2, 32 | |
+ srli a2, a2, 31 | |
add a1, a1, a2 | |
sh a0, 0(a1) | |
j .LBB1_3 | |
@@ -133,12 +137,13 @@ main: # @main | |
j .LBB2_2 | |
.LBB2_2: # %for.body | |
# in Loop: Header=BB2_1 Depth=1 | |
- lwu a1, -24(s0) | |
+ lw a1, -24(s0) | |
li a0, 64 | |
subw a0, a0, a1 | |
slliw a0, a0, 8 | |
addw a0, a0, a1 | |
- slli a2, a1, 1 | |
+ slli a1, a1, 32 | |
+ srli a2, a1, 31 | |
addi a1, s0, -152 | |
add a1, a1, a2 | |
sh a0, 0(a1) | |
@@ -163,8 +168,9 @@ main: # @main | |
j .LBB2_6 | |
.LBB2_6: # %for.body5 | |
# in Loop: Header=BB2_5 Depth=1 | |
- lwu a1, -24(s0) | |
- slli a2, a1, 1 | |
+ lw a1, -24(s0) | |
+ slli a0, a1, 32 | |
+ srli a2, a0, 31 | |
addi a0, s0, -152 | |
add a0, a0, a2 | |
lhu a0, 0(a0) | |
@@ -197,12 +203,13 @@ main: # @main | |
j .LBB2_12 | |
.LBB2_12: # %for.body21 | |
# in Loop: Header=BB2_11 Depth=1 | |
- lwu a1, -24(s0) | |
+ lw a1, -24(s0) | |
li a0, 64 | |
subw a0, a0, a1 | |
slliw a0, a0, 8 | |
addw a0, a0, a1 | |
- slli a2, a1, 1 | |
+ slli a1, a1, 32 | |
+ srli a2, a1, 31 | |
addi a1, s0, -152 | |
add a1, a1, a2 | |
sh a0, 0(a1) | |
@@ -227,8 +234,9 @@ main: # @main | |
j .LBB2_16 | |
.LBB2_16: # %for.body35 | |
# in Loop: Header=BB2_15 Depth=1 | |
- lwu a2, -24(s0) | |
- slli a1, a2, 1 | |
+ lw a2, -24(s0) | |
+ slli a0, a2, 32 | |
+ srli a1, a0, 31 | |
addi a0, s0, -152 | |
add a0, a0, a1 | |
lhu a0, 0(a0) | |
diff --git a/output_rv64imafdc_lp64d_O0/pr71700.s b/output_rv64imafdc_lp64d_O0/pr71700.s | |
index 5d1085197a..4170fb8ae7 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr71700.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr71700.s | |
@@ -19,8 +19,9 @@ main: # @main | |
lui a0, %hi(d) | |
lw a1, -24(s0) | |
sw a1, %lo(d)(a0) | |
- lhu a0, %lo(d+2)(a0) | |
- andi a0, a0, 1 | |
+ lw a0, %lo(d)(a0) | |
+ slli a0, a0, 47 | |
+ srli a0, a0, 63 | |
beqz a0, .LBB0_2 | |
j .LBB0_1 | |
.LBB0_1: # %if.then | |
diff --git a/output_rv64imafdc_lp64d_O0/pr79388.s b/output_rv64imafdc_lp64d_O0/pr79388.s | |
index cb855e742b..71fde755e4 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr79388.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr79388.s | |
@@ -21,11 +21,12 @@ foo: # @foo | |
addiw a1, a1, -2 | |
and a0, a0, a1 | |
sw a0, -20(s0) | |
- lwu a0, -20(s0) | |
- lui a1, 65537 | |
- slli a1, a1, 3 | |
- addi a1, a1, 1 | |
- mul a1, a0, a1 | |
+ lw a0, -20(s0) | |
+ lui a1, 524296 | |
+ addiw a1, a1, 1 | |
+ slli a2, a1, 32 | |
+ slli a1, a0, 32 | |
+ mulhu a1, a1, a2 | |
srli a1, a1, 47 | |
slliw a2, a1, 16 | |
subw a1, a1, a2 | |
diff --git a/output_rv64imafdc_lp64d_O0/pr83362.s b/output_rv64imafdc_lp64d_O0/pr83362.s | |
index c9bbdd6955..a1579787be 100644 | |
--- a/output_rv64imafdc_lp64d_O0/pr83362.s | |
+++ b/output_rv64imafdc_lp64d_O0/pr83362.s | |
@@ -45,10 +45,12 @@ foo: # @foo | |
.LBB1_1: # %do.body | |
# =>This Inner Loop Header: Depth=1 | |
lui a1, %hi(e) | |
- lwu a0, %lo(e)(a1) | |
+ lw a0, %lo(e)(a1) | |
lui a2, 256 | |
addiw a2, a2, 257 | |
- mul a2, a0, a2 | |
+ slli a3, a2, 32 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, a3 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
diff --git a/output_rv64imafdc_lp64d_O1/20140622-1.s b/output_rv64imafdc_lp64d_O1/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64d_O1/20140622-1.s | |
+++ b/output_rv64imafdc_lp64d_O1/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64d_O1/pr22061-1.s b/output_rv64imafdc_lp64d_O1/pr22061-1.s | |
index 3d538d6ad9..461d597641 100644 | |
--- a/output_rv64imafdc_lp64d_O1/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64d_O1/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64d_O1/pr23135.s b/output_rv64imafdc_lp64d_O1/pr23135.s | |
index 9d13784c07..8167879d43 100644 | |
--- a/output_rv64imafdc_lp64d_O1/pr23135.s | |
+++ b/output_rv64imafdc_lp64d_O1/pr23135.s | |
@@ -33,164 +33,179 @@ main: # @main | |
sd s3, 24(sp) # 8-byte Folded Spill | |
sd s4, 16(sp) # 8-byte Folded Spill | |
sd s5, 8(sp) # 8-byte Folded Spill | |
+ sd s6, 0(sp) # 8-byte Folded Spill | |
lui a0, %hi(i) | |
lw a4, %lo(i)(a0) | |
lw a5, %lo(i+4)(a0) | |
lui a0, %hi(j) | |
- lw a2, %lo(j)(a0) | |
- lw a3, %lo(j+4)(a0) | |
- add a1, a2, a4 | |
- add s1, a3, a5 | |
- lui a0, %hi(res) | |
- sw s1, %lo(res+4)(a0) | |
- xori s0, a1, 160 | |
- xori s1, s1, 113 | |
- or s1, s1, s0 | |
- sext.w s1, s1 | |
- sw a1, %lo(res)(a0) | |
- bnez s1, .LBB1_12 | |
+ lw s0, %lo(j+4)(a0) | |
+ lw s1, %lo(j)(a0) | |
+ addw a1, s0, a5 | |
+ addw s4, s1, a4 | |
+ lui a2, %hi(res) | |
+ sw s4, %lo(res)(a2) | |
+ sw a1, %lo(res+4)(a2) | |
+ lw a3, %lo(res)(a2) | |
+ lw a0, %lo(res+4)(a2) | |
+ xori a3, a3, 160 | |
+ xori a0, a0, 113 | |
+ or a0, a0, a3 | |
+ bnez a0, .LBB1_12 | |
# %bb.1: # %verify.exit | |
- mul a1, a3, a5 | |
- mul s1, a2, a4 | |
- sw s1, %lo(res)(a0) | |
- xori s1, s1, 1500 | |
- xori s0, a1, 1300 | |
- or s1, s1, s0 | |
- sext.w s1, s1 | |
- sw a1, %lo(res+4)(a0) | |
- bnez s1, .LBB1_12 | |
+ mulw s5, s0, a5 | |
+ mulw s3, s1, a4 | |
+ sw s3, %lo(res)(a2) | |
+ sw s5, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ xori a0, a0, 1500 | |
+ xori a2, a2, 1300 | |
+ or a0, a0, a2 | |
+ bnez a0, .LBB1_12 | |
# %bb.2: # %verify.exit27 | |
- divw s3, a5, a3 | |
- divw a1, a4, a2 | |
- lui s1, %hi(res) | |
- sw a1, %lo(res)(s1) | |
- xori s0, a1, 15 | |
- xori a0, s3, 7 | |
- or a0, a0, s0 | |
- sw s3, %lo(res+4)(s1) | |
+ divw t2, a5, s0 | |
+ divw t3, a4, s1 | |
+ lui a2, %hi(res) | |
+ sw t3, %lo(res)(a2) | |
+ sw t2, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a3, %lo(res+4)(a2) | |
+ xori a0, a0, 15 | |
+ xori a3, a3, 7 | |
+ or a0, a0, a3 | |
bnez a0, .LBB1_12 | |
# %bb.3: # %verify.exit32 | |
- and t3, a3, a5 | |
- and t2, a2, a4 | |
- xori a0, t2, 2 | |
- xori s0, t3, 4 | |
- or a0, a0, s0 | |
- sw t2, %lo(res)(s1) | |
- sw t3, %lo(res+4)(s1) | |
+ and a7, s0, a5 | |
+ and a6, s1, a4 | |
+ sw a6, %lo(res)(a2) | |
+ sw a7, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ xori a0, a0, 2 | |
+ xori a2, a2, 4 | |
+ or a0, a0, a2 | |
bnez a0, .LBB1_12 | |
# %bb.4: # %verify.exit37 | |
- or a6, a3, a5 | |
- or a7, a2, a4 | |
- lui s1, %hi(res) | |
- sw a7, %lo(res)(s1) | |
- xori a0, a7, 158 | |
- xori s0, a6, 109 | |
- or a0, a0, s0 | |
- sw a6, %lo(res+4)(s1) | |
+ or t0, s0, a5 | |
+ or t1, s1, a4 | |
+ lui a2, %hi(res) | |
+ sw t1, %lo(res)(a2) | |
+ sw t0, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a3, %lo(res+4)(a2) | |
+ xori a0, a0, 158 | |
+ xori a3, a3, 109 | |
+ or a0, a0, a3 | |
bnez a0, .LBB1_12 | |
# %bb.5: # %verify.exit42 | |
- xor t1, a3, a5 | |
- xor t0, a2, a4 | |
- xori a0, t0, 156 | |
- xori s0, t1, 105 | |
- or a0, a0, s0 | |
- sw t0, %lo(res)(s1) | |
- sw t1, %lo(res+4)(s1) | |
+ xor t5, s0, a5 | |
+ xor t4, s1, a4 | |
+ sw t4, %lo(res)(a2) | |
+ sw t5, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ xori a0, a0, 156 | |
+ xori a2, a2, 105 | |
+ or a0, a0, a2 | |
bnez a0, .LBB1_12 | |
# %bb.6: # %verify.exit47 | |
- negw t4, a5 | |
- negw t5, a4 | |
- lui s1, %hi(res) | |
- sw t5, %lo(res)(s1) | |
- xori a0, t5, -150 | |
- xori s0, t4, -100 | |
- or a0, a0, s0 | |
- sw t4, %lo(res+4)(s1) | |
+ negw t6, a5 | |
+ negw s0, a4 | |
+ lui a2, %hi(res) | |
+ sw s0, %lo(res)(a2) | |
+ sw t6, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a3, %lo(res+4)(a2) | |
+ xori a0, a0, -150 | |
+ xori a3, a3, -100 | |
+ or a0, a0, a3 | |
bnez a0, .LBB1_12 | |
# %bb.7: # %verify.exit52 | |
- not t6, a5 | |
- xori a0, a4, 150 | |
- xori s0, a5, 100 | |
- or a0, a0, s0 | |
- not s0, a4 | |
- sw s0, %lo(res)(s1) | |
- sw t6, %lo(res+4)(s1) | |
+ not s2, a5 | |
+ not s1, a4 | |
+ sw s1, %lo(res)(a2) | |
+ sw s2, %lo(res+4)(a2) | |
+ lw a0, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ xori a0, a0, -151 | |
+ xori a2, a2, -101 | |
+ or a0, a0, a2 | |
bnez a0, .LBB1_12 | |
# %bb.8: # %verify.exit57 | |
- addw s2, a3, a5 | |
- addw s4, a2, a4 | |
- mulw s5, a2, a4 | |
- mulw a3, a3, a5 | |
- subw a0, s0, a4 | |
- subw a4, t6, a5 | |
- add a4, a4, a3 | |
- add a0, a0, s5 | |
- add a0, a0, s4 | |
- add a4, a4, s2 | |
- add a4, a4, t3 | |
- add a0, a0, t2 | |
- add a0, a0, a7 | |
- add a4, a4, a6 | |
- add s1, a4, t1 | |
- add a0, a0, t0 | |
- lui a5, %hi(k) | |
- sw a0, %lo(k)(a5) | |
- lui a4, %hi(res) | |
- sw a0, %lo(res)(a4) | |
- xori a0, a0, 1675 | |
- xori a2, s1, 1430 | |
- or a0, a0, a2 | |
- sw s1, %lo(k+4)(a5) | |
- sext.w a0, a0 | |
- sw s1, %lo(res+4)(a4) | |
+ subw a0, s1, a4 | |
+ subw a2, s2, a5 | |
+ addw a2, a2, s5 | |
+ addw a0, a0, s3 | |
+ addw a0, a0, s4 | |
+ addw a2, a2, a1 | |
+ addw a2, a2, a7 | |
+ addw a0, a0, a6 | |
+ addw a0, a0, t1 | |
+ addw a2, a2, t0 | |
+ addw a2, a2, t5 | |
+ addw a0, a0, t4 | |
+ lui a5, %hi(res) | |
+ sw a0, %lo(res)(a5) | |
+ sw a2, %lo(res+4)(a5) | |
+ lw a3, %lo(res)(a5) | |
+ lw a4, %lo(res+4)(a5) | |
+ lui s6, %hi(k) | |
+ sw a0, %lo(k)(s6) | |
+ xori a0, a3, 1675 | |
+ xori a3, a4, 1430 | |
+ or a0, a0, a3 | |
+ sw a2, %lo(k+4)(s6) | |
bnez a0, .LBB1_12 | |
# %bb.9: # %verify.exit62 | |
- mulw a0, s0, t5 | |
- mulw a2, t6, t4 | |
- mul a2, a2, a3 | |
- mul a0, a0, s5 | |
- mul a0, a0, s4 | |
- mul a2, a2, s2 | |
- mul a2, a2, t3 | |
- mul a0, a0, t2 | |
- mul a0, a0, a7 | |
- mul a2, a2, a6 | |
- mul a2, a2, t1 | |
- mul a0, a0, t0 | |
- sw a0, %lo(k)(a5) | |
- sw a2, %lo(k+4)(a5) | |
- sw a0, %lo(res)(a4) | |
- lui a5, 355583 | |
- xor a0, a0, a5 | |
- lui a5, 662935 | |
- addiw a5, a5, -704 | |
- xor a5, a5, a2 | |
- or a0, a0, a5 | |
- sext.w a0, a0 | |
- sw a2, %lo(res+4)(a4) | |
+ mulw a0, s1, s0 | |
+ mulw a2, s2, t6 | |
+ mulw a2, a2, s5 | |
+ mulw a0, a0, s3 | |
+ mulw a0, a0, s4 | |
+ mulw a2, a2, a1 | |
+ mulw a2, a2, a7 | |
+ mulw a0, a0, a6 | |
+ mulw a0, a0, t1 | |
+ mulw a2, a2, t0 | |
+ mulw a2, a2, t5 | |
+ mulw a0, a0, t4 | |
+ sw a0, %lo(k)(s6) | |
+ sw a0, %lo(res)(a5) | |
+ lw a0, %lo(res)(a5) | |
+ sw a2, %lo(res+4)(a5) | |
+ lw a3, %lo(res+4)(a5) | |
+ lui a4, 355583 | |
+ xor a0, a0, a4 | |
+ lui a4, 662935 | |
+ addiw a4, a4, -704 | |
+ xor a3, a3, a4 | |
+ or a0, a0, a3 | |
+ sw a2, %lo(k+4)(s6) | |
bnez a0, .LBB1_12 | |
# %bb.10: # %verify.exit67 | |
- divw a0, s2, a3 | |
- divw a2, s4, s5 | |
- divw a1, a2, a1 | |
- divw a0, a0, s3 | |
- divw a0, a0, t3 | |
- divw a1, a1, t2 | |
- divw a1, a1, a7 | |
- divw a0, a0, a6 | |
- divw a0, a0, t1 | |
- divw a1, a1, t0 | |
- divw a1, a1, t5 | |
- divw a0, a0, t4 | |
- divw a0, a0, t6 | |
+ divw a0, a1, s5 | |
+ divw a1, s4, s3 | |
+ divw a1, a1, t3 | |
+ divw a0, a0, t2 | |
+ divw a0, a0, a7 | |
+ divw a1, a1, a6 | |
+ divw a1, a1, t1 | |
+ divw a0, a0, t0 | |
+ divw a0, a0, t5 | |
+ divw a1, a1, t4 | |
divw a1, a1, s0 | |
- lui a2, %hi(k) | |
- sw a1, %lo(k)(a2) | |
- sw a0, %lo(k+4)(a2) | |
+ divw a0, a0, t6 | |
+ divw a0, a0, s2 | |
+ divw a1, a1, s1 | |
lui a2, %hi(res) | |
sw a1, %lo(res)(a2) | |
- or a1, a1, a0 | |
sw a0, %lo(res+4)(a2) | |
+ lw a3, %lo(res)(a2) | |
+ lw a2, %lo(res+4)(a2) | |
+ lui a4, %hi(k) | |
+ sw a1, %lo(k)(a4) | |
+ or a1, a2, a3 | |
+ sw a0, %lo(k+4)(a4) | |
bnez a1, .LBB1_12 | |
# %bb.11: # %verify.exit72 | |
li a0, 0 | |
diff --git a/output_rv64imafdc_lp64d_O1/pr51581-2.s b/output_rv64imafdc_lp64d_O1/pr51581-2.s | |
index 7ce56aa11e..40ee3b4359 100644 | |
--- a/output_rv64imafdc_lp64d_O1/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64d_O1/pr51581-2.s | |
@@ -44,14 +44,14 @@ f2: # @f2 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB1_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -110,11 +110,13 @@ f4: # @f4 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, 18 | |
.LBB3_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
subw a4, a5, a4 | |
@@ -170,15 +172,15 @@ f6: # @f6 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, 19 | |
.LBB5_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -210,11 +212,10 @@ f7: # @f7 | |
addiw a6, a3, 1366 | |
.LBB6_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- sext.w a5, a4 | |
- mul a5, a5, a6 | |
+ lw a4, 0(a1) | |
+ mul a5, a4, a6 | |
srli a5, a5, 32 | |
- srli a3, a4, 31 | |
+ srliw a3, a4, 31 | |
addw a3, a3, a5 | |
slliw a5, a3, 1 | |
addw a3, a3, a5 | |
@@ -239,14 +240,14 @@ f8: # @f8 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB7_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -276,11 +277,10 @@ f9: # @f9 | |
li a6, -18 | |
.LBB8_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 34 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -306,11 +306,13 @@ f10: # @f10 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, -18 | |
.LBB9_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
addw a4, a4, a5 | |
@@ -339,11 +341,10 @@ f11: # @f11 | |
li a6, -19 | |
.LBB10_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 35 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -367,15 +368,15 @@ f12: # @f12 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, -19 | |
.LBB11_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -444,10 +445,9 @@ main: # @main | |
lui a2, 1 | |
lui a3, 349525 | |
addiw a6, a3, 1366 | |
- lui a4, 171 | |
+ lui a4, 699051 | |
addiw a4, a4, -1365 | |
- slli a4, a4, 12 | |
- addi a7, a4, -1365 | |
+ slli a7, a4, 32 | |
.LBB12_3: # %for.body5 | |
# =>This Inner Loop Header: Depth=1 | |
lw a5, 0(s0) | |
@@ -462,9 +462,10 @@ main: # @main | |
bne t0, a3, .LBB12_27 | |
# %bb.4: # %lor.lhs.false | |
# in Loop: Header=BB12_3 Depth=1 | |
- lwu a3, 0(s1) | |
+ lw a3, 0(s1) | |
lw t0, 0(a0) | |
- mul a5, a3, a7 | |
+ slli a5, a3, 32 | |
+ mulhu a5, a5, a7 | |
srli a5, a5, 33 | |
slliw a4, a5, 1 | |
addw a4, a4, a5 | |
@@ -491,24 +492,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_7: # %for.body22 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.8: # %lor.lhs.false29 | |
# in Loop: Header=BB12_7 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -536,10 +539,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_11: # %for.body43 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -553,9 +555,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.12: # %lor.lhs.false50 | |
# in Loop: Header=BB12_11 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
@@ -586,10 +589,9 @@ main: # @main | |
lui a4, 1 | |
lui a5, 349525 | |
addiw a6, a5, 1366 | |
- lui s1, 171 | |
+ lui s1, 699051 | |
addiw s1, s1, -1365 | |
- slli s1, s1, 12 | |
- addi a7, s1, -1365 | |
+ slli a7, s1, 32 | |
.LBB12_15: # %for.body64 | |
# =>This Inner Loop Header: Depth=1 | |
lw s0, 0(a2) | |
@@ -604,9 +606,10 @@ main: # @main | |
bne t0, a5, .LBB12_27 | |
# %bb.16: # %lor.lhs.false71 | |
# in Loop: Header=BB12_15 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t0, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 33 | |
slliw s1, s0, 1 | |
addw s1, s1, s0 | |
@@ -633,24 +636,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_19: # %for.body85 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.20: # %lor.lhs.false92 | |
# in Loop: Header=BB12_19 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -678,10 +683,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_23: # %for.body106 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -695,9 +699,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.24: # %lor.lhs.false113 | |
# in Loop: Header=BB12_23 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
diff --git a/output_rv64imafdc_lp64d_O1/pr53645.s b/output_rv64imafdc_lp64d_O1/pr53645.s | |
index 9bc27bccb5..8fbf5b1879 100644 | |
--- a/output_rv64imafdc_lp64d_O1/pr53645.s | |
+++ b/output_rv64imafdc_lp64d_O1/pr53645.s | |
@@ -188,7 +188,7 @@ sq1428: # @sq1428 | |
sr1428: # @sr1428 | |
# %bb.0: # %entry | |
lw a2, 4(a1) | |
- lwu a3, 8(a1) | |
+ lw a3, 8(a1) | |
lw a1, 12(a1) | |
slli a4, a2, 1 | |
srli a4, a4, 62 | |
@@ -200,7 +200,7 @@ sr1428: # @sr1428 | |
add a4, a4, a1 | |
andi a4, a4, -8 | |
subw a1, a1, a4 | |
- srli a4, a3, 31 | |
+ srliw a4, a3, 31 | |
add a4, a4, a3 | |
andi a4, a4, -2 | |
subw a3, a3, a4 | |
@@ -254,36 +254,44 @@ uq3333: # @uq3333 | |
.type ur3333,@function | |
ur3333: # @ur3333 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI9_0) | |
- ld a3, %lo(.LCPI9_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- srli a7, a4, 1 | |
- andi a4, a4, -2 | |
- addw a4, a4, a7 | |
- subw a7, a2, a4 | |
- mulhu a4, a1, a3 | |
- srli a2, a4, 1 | |
- andi a4, a4, -2 | |
- addw a2, a2, a4 | |
- subw a1, a1, a2 | |
- mulhu a2, a5, a3 | |
- srli a4, a2, 1 | |
- andi a2, a2, -2 | |
- addw a2, a2, a4 | |
- subw a2, a5, a2 | |
- mulhu a3, a6, a3 | |
+ lw t0, 12(a1) | |
+ lw t1, 8(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 4(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 0(a1) | |
+ lui a2, %hi(.LCPI9_0) | |
+ ld a2, %lo(.LCPI9_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 1 | |
andi a3, a3, -2 | |
addw a3, a3, a4 | |
- subw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a2, 8(a0) | |
- sw a1, 4(a0) | |
- sw a7, 0(a0) | |
+ subw a1, a1, a3 | |
+ mulhu a3, t2, a2 | |
+ srli a4, a3, 1 | |
+ andi a3, a3, -2 | |
+ addw a3, a3, a4 | |
+ subw a3, a5, a3 | |
+ mulhu a4, a7, a2 | |
+ srli a5, a4, 1 | |
+ andi a4, a4, -2 | |
+ addw a4, a4, a5 | |
+ subw a4, t1, a4 | |
+ mulhu a2, a6, a2 | |
+ srli a5, a2, 1 | |
+ andi a2, a2, -2 | |
+ addw a2, a2, a5 | |
+ subw a2, t0, a2 | |
+ sw a2, 12(a0) | |
+ sw a4, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end9: | |
.size ur3333, .Lfunc_end9-ur3333 | |
@@ -420,36 +428,44 @@ uq6565: # @uq6565 | |
.type ur6565,@function | |
ur6565: # @ur6565 | |
# %bb.0: # %entry | |
- lwu a2, 4(a1) | |
- lui a3, %hi(.LCPI13_0) | |
- ld a3, %lo(.LCPI13_0)(a3) | |
- lwu a6, 8(a1) | |
- lwu a7, 0(a1) | |
- lwu a1, 12(a1) | |
- mulhu a4, a2, a3 | |
- srli a5, a4, 2 | |
- andi a4, a4, -4 | |
- addw a4, a4, a5 | |
- subw a2, a2, a4 | |
- mulhu a3, a1, a3 | |
+ lw t0, 8(a1) | |
+ lw t1, 0(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 12(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 4(a1) | |
+ lui a2, %hi(.LCPI13_0) | |
+ ld a2, %lo(.LCPI13_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 2 | |
- lui a5, %hi(.LCPI13_1) | |
- ld a5, %lo(.LCPI13_1)(a5) | |
andi a3, a3, -4 | |
addw a3, a3, a4 | |
subw a1, a1, a3 | |
- mulhu a3, a7, a5 | |
+ mulhu a2, t2, a2 | |
+ srli a3, a2, 2 | |
+ lui a4, %hi(.LCPI13_1) | |
+ ld a4, %lo(.LCPI13_1)(a4) | |
+ andi a2, a2, -4 | |
+ addw a2, a2, a3 | |
+ subw a2, a5, a2 | |
+ mulhu a3, a7, a4 | |
srli a3, a3, 2 | |
- li a4, 6 | |
- mulw a3, a3, a4 | |
- subw a3, a7, a3 | |
- mulhu a5, a6, a5 | |
- srli a5, a5, 2 | |
- mulw a4, a5, a4 | |
- subw a4, a6, a4 | |
- sw a1, 12(a0) | |
+ li a5, 6 | |
+ mulw a3, a3, a5 | |
+ subw a3, t1, a3 | |
+ mulhu a4, a6, a4 | |
+ srli a4, a4, 2 | |
+ mulw a4, a4, a5 | |
+ subw a4, t0, a4 | |
+ sw a2, 12(a0) | |
sw a4, 8(a0) | |
- sw a2, 4(a0) | |
+ sw a1, 4(a0) | |
sw a3, 0(a0) | |
ret | |
.Lfunc_end13: | |
@@ -592,48 +608,50 @@ uq1414146: # @uq1414146 | |
.section .sdata,"aw",@progbits | |
.p2align 3 # -- Begin function ur1414146 | |
.LCPI17_0: | |
- .quad 5270498306774157605 # 0x4924924924924925 | |
-.LCPI17_1: | |
.quad -6148914691236517205 # 0xaaaaaaaaaaaaaaab | |
+.LCPI17_1: | |
+ .quad 5270498306774157605 # 0x4924924924924925 | |
.text | |
.globl ur1414146 | |
.p2align 1 | |
.type ur1414146,@function | |
ur1414146: # @ur1414146 | |
# %bb.0: # %entry | |
- lwu a6, 12(a1) | |
- lwu a3, 0(a1) | |
- lui a4, %hi(.LCPI17_0) | |
- ld a4, %lo(.LCPI17_0)(a4) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- srli a2, a3, 1 | |
- mulhu a2, a2, a4 | |
- srli a2, a2, 1 | |
- li a7, 14 | |
+ lw a6, 8(a1) | |
+ lw a3, 4(a1) | |
+ lw a4, 12(a1) | |
+ lui a5, %hi(.LCPI17_0) | |
+ ld a5, %lo(.LCPI17_0)(a5) | |
+ lw a1, 0(a1) | |
+ slli a2, a4, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ li a7, 6 | |
+ lui a5, %hi(.LCPI17_1) | |
+ ld a5, %lo(.LCPI17_1)(a5) | |
mulw a2, a2, a7 | |
- subw a2, a3, a2 | |
- srli a3, a1, 1 | |
- mulhu a3, a3, a4 | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a1, a1, a3 | |
- srli a3, a5, 1 | |
- mulhu a3, a3, a4 | |
- lui a4, %hi(.LCPI17_1) | |
- ld a4, %lo(.LCPI17_1)(a4) | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a3, a5, a3 | |
- mulhu a4, a6, a4 | |
- srli a4, a4, 2 | |
- li a5, 6 | |
- mulw a4, a4, a5 | |
- subw a4, a6, a4 | |
- sw a4, 12(a0) | |
- sw a3, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ subw a7, a4, a2 | |
+ srliw a4, a1, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ li a2, 14 | |
+ mulw a4, a4, a2 | |
+ subw a1, a1, a4 | |
+ srliw a4, a3, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a4, a4, a2 | |
+ subw a3, a3, a4 | |
+ srliw a4, a6, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a2, a4, a2 | |
+ subw a2, a6, a2 | |
+ sw a2, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
+ sw a7, 12(a0) | |
ret | |
.Lfunc_end17: | |
.size ur1414146, .Lfunc_end17-ur1414146 | |
@@ -788,48 +806,56 @@ uq7777: # @uq7777 | |
.type ur7777,@function | |
ur7777: # @ur7777 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI21_0) | |
- ld a3, %lo(.LCPI21_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a7, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- sub a5, a2, a4 | |
- srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a2, a2, a4 | |
- mulhu a4, a1, a3 | |
- sub a5, a1, a4 | |
+ lw a6, 12(a1) | |
+ lw a7, 8(a1) | |
+ slli a4, a6, 32 | |
+ lw t2, 4(a1) | |
+ srli t0, a4, 32 | |
+ slli a2, a7, 32 | |
+ srli t1, a2, 32 | |
+ slli a3, t2, 32 | |
+ lw a1, 0(a1) | |
+ lui a4, %hi(.LCPI21_0) | |
+ ld a4, %lo(.LCPI21_0)(a4) | |
+ srli a3, a3, 32 | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a5, a2, a4 | |
+ sub a2, a2, a5 | |
+ srli a2, a2, 1 | |
+ add a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ slliw a5, a2, 3 | |
+ subw a2, a2, a5 | |
+ addw a1, a1, a2 | |
+ mulhu a2, a3, a4 | |
+ sub a3, a3, a2 | |
+ srli a3, a3, 1 | |
+ add a2, a2, a3 | |
+ srli a2, a2, 2 | |
+ slliw a3, a2, 3 | |
+ subw a2, a2, a3 | |
+ addw a2, t2, a2 | |
+ mulhu a3, t1, a4 | |
+ sub a5, t1, a3 | |
srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a1, a1, a4 | |
- mulhu a4, a7, a3 | |
- sub a5, a7, a4 | |
+ add a3, a3, a5 | |
+ srli a3, a3, 2 | |
+ slliw a5, a3, 3 | |
+ subw a3, a3, a5 | |
+ addw a3, a7, a3 | |
+ mulhu a4, t0, a4 | |
+ sub a5, t0, a4 | |
srli a5, a5, 1 | |
add a4, a4, a5 | |
srli a4, a4, 2 | |
slliw a5, a4, 3 | |
subw a4, a4, a5 | |
- addw a4, a7, a4 | |
- mulhu a3, a6, a3 | |
- sub a5, a6, a3 | |
- srli a5, a5, 1 | |
- add a3, a3, a5 | |
- srli a3, a3, 2 | |
- slliw a5, a3, 3 | |
- subw a3, a3, a5 | |
- addw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a4, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ addw a4, a6, a4 | |
+ sw a4, 12(a0) | |
+ sw a3, 8(a0) | |
+ sw a2, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end21: | |
.size ur7777, .Lfunc_end21-ur7777 | |
@@ -931,51 +957,47 @@ sr7777: # @sr7777 | |
.type main,@function | |
main: # @main | |
# %bb.0: # %entry | |
- addi sp, sp, -144 | |
- sd ra, 136(sp) # 8-byte Folded Spill | |
- sd s0, 128(sp) # 8-byte Folded Spill | |
- sd s1, 120(sp) # 8-byte Folded Spill | |
- sd s2, 112(sp) # 8-byte Folded Spill | |
- sd s3, 104(sp) # 8-byte Folded Spill | |
- sd s4, 96(sp) # 8-byte Folded Spill | |
- sd s5, 88(sp) # 8-byte Folded Spill | |
- sd s6, 80(sp) # 8-byte Folded Spill | |
- sd s7, 72(sp) # 8-byte Folded Spill | |
- sd s8, 64(sp) # 8-byte Folded Spill | |
- sd s9, 56(sp) # 8-byte Folded Spill | |
- sd s10, 48(sp) # 8-byte Folded Spill | |
- sd s11, 40(sp) # 8-byte Folded Spill | |
+ addi sp, sp, -128 | |
+ sd ra, 120(sp) # 8-byte Folded Spill | |
+ sd s0, 112(sp) # 8-byte Folded Spill | |
+ sd s1, 104(sp) # 8-byte Folded Spill | |
+ sd s2, 96(sp) # 8-byte Folded Spill | |
+ sd s3, 88(sp) # 8-byte Folded Spill | |
+ sd s4, 80(sp) # 8-byte Folded Spill | |
+ sd s5, 72(sp) # 8-byte Folded Spill | |
+ sd s6, 64(sp) # 8-byte Folded Spill | |
+ sd s7, 56(sp) # 8-byte Folded Spill | |
+ sd s8, 48(sp) # 8-byte Folded Spill | |
+ sd s9, 40(sp) # 8-byte Folded Spill | |
+ sd s10, 32(sp) # 8-byte Folded Spill | |
li s3, 0 | |
lui a0, %hi(u) | |
addi s2, a0, %lo(u) | |
- addi s1, sp, 16 | |
- lui a0, 171 | |
- addiw a0, a0, -1365 | |
- slli a0, a0, 12 | |
- addi s4, a0, -1365 | |
+ addi s4, sp, 16 | |
lui a0, 699051 | |
addiw a0, a0, -1365 | |
- slli s5, a0, 32 | |
+ slli s1, a0, 32 | |
lui a0, 838861 | |
addiw a0, a0, -819 | |
- slli s6, a0, 32 | |
- li s7, 6 | |
+ slli s5, a0, 32 | |
+ li s6, 6 | |
lui a0, 299593 | |
slli a0, a0, 1 | |
- addi s8, a0, 1171 | |
- li s9, 14 | |
+ addi s7, a0, 1171 | |
+ li s8, 14 | |
lui a0, 149797 | |
- addiw s10, a0, -1755 | |
- slli s11, s10, 32 | |
+ addiw a0, a0, -1755 | |
+ slli s9, a0, 32 | |
+ li s10, 16 | |
.LBB24_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
add s0, s2, s3 | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.2: # %lor.lhs.false | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -987,9 +1009,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.4: # %lor.lhs.false19 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1004,7 +1026,7 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1018,7 +1040,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1048,9 +1070,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
+ srliw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
# %bb.12: # %lor.lhs.false90 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1077,7 +1099,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1094,9 +1116,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.18: # %lor.lhs.false145 | |
@@ -1104,16 +1127,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.19: # %if.end154 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.20: # %lor.lhs.false162 | |
@@ -1121,7 +1145,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.21: # %if.end171 | |
@@ -1131,9 +1155,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1144,7 +1169,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1154,9 +1179,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1167,7 +1193,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1180,9 +1206,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.26: # %lor.lhs.false217 | |
@@ -1190,16 +1217,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.27: # %if.end226 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.28: # %lor.lhs.false234 | |
@@ -1207,7 +1235,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.29: # %if.end243 | |
@@ -1217,11 +1245,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.30: # %lor.lhs.false253 | |
@@ -1229,7 +1258,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1239,11 +1268,12 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.32: # %lor.lhs.false270 | |
@@ -1251,7 +1281,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1264,10 +1294,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.34: # %lor.lhs.false289 | |
@@ -1275,17 +1305,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.35: # %if.end298 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.36: # %lor.lhs.false306 | |
@@ -1293,7 +1323,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a0, a0, 1 | |
- mul a0, a0, s8 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.37: # %if.end315 | |
@@ -1303,12 +1333,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.38: # %lor.lhs.false325 | |
@@ -1316,21 +1346,21 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.39: # %if.end334 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.40: # %lor.lhs.false342 | |
@@ -1338,9 +1368,9 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a2, a0, 1 | |
- mul a2, a2, s8 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.41: # %if.end351 | |
@@ -1350,9 +1380,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1364,7 +1395,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1375,9 +1406,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1389,7 +1421,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1403,9 +1435,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1420,7 +1453,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1434,9 +1467,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1451,7 +1485,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1466,8 +1500,7 @@ main: # @main | |
#APP | |
#NO_APP | |
addi s3, s3, 16 | |
- li a0, 16 | |
- beq s3, a0, .LBB24_1 | |
+ beq s3, s10, .LBB24_1 | |
# %bb.50: # %for.body428.preheader | |
li s3, 0 | |
lui a0, %hi(s) | |
@@ -1501,8 +1534,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1521,8 +1554,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1545,8 +1578,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1567,8 +1600,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1587,8 +1620,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 29 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 61 | |
addw a0, a0, a2 | |
sraiw a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1596,9 +1629,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
addw a0, a0, a2 | |
sraiw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1606,8 +1639,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1634,9 +1667,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
add a2, a2, a0 | |
andi a2, a2, -2 | |
subw a0, a0, a2 | |
@@ -1645,8 +1678,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -2073,20 +2106,19 @@ main: # @main | |
beq s3, s10, .LBB24_51 | |
# %bb.100: # %for.end863 | |
li a0, 0 | |
- ld ra, 136(sp) # 8-byte Folded Reload | |
- ld s0, 128(sp) # 8-byte Folded Reload | |
- ld s1, 120(sp) # 8-byte Folded Reload | |
- ld s2, 112(sp) # 8-byte Folded Reload | |
- ld s3, 104(sp) # 8-byte Folded Reload | |
- ld s4, 96(sp) # 8-byte Folded Reload | |
- ld s5, 88(sp) # 8-byte Folded Reload | |
- ld s6, 80(sp) # 8-byte Folded Reload | |
- ld s7, 72(sp) # 8-byte Folded Reload | |
- ld s8, 64(sp) # 8-byte Folded Reload | |
- ld s9, 56(sp) # 8-byte Folded Reload | |
- ld s10, 48(sp) # 8-byte Folded Reload | |
- ld s11, 40(sp) # 8-byte Folded Reload | |
- addi sp, sp, 144 | |
+ ld ra, 120(sp) # 8-byte Folded Reload | |
+ ld s0, 112(sp) # 8-byte Folded Reload | |
+ ld s1, 104(sp) # 8-byte Folded Reload | |
+ ld s2, 96(sp) # 8-byte Folded Reload | |
+ ld s3, 88(sp) # 8-byte Folded Reload | |
+ ld s4, 80(sp) # 8-byte Folded Reload | |
+ ld s5, 72(sp) # 8-byte Folded Reload | |
+ ld s6, 64(sp) # 8-byte Folded Reload | |
+ ld s7, 56(sp) # 8-byte Folded Reload | |
+ ld s8, 48(sp) # 8-byte Folded Reload | |
+ ld s9, 40(sp) # 8-byte Folded Reload | |
+ ld s10, 32(sp) # 8-byte Folded Reload | |
+ addi sp, sp, 128 | |
ret | |
.LBB24_101: # %if.then | |
call abort | |
diff --git a/output_rv64imafdc_lp64d_O2/20140622-1.s b/output_rv64imafdc_lp64d_O2/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64d_O2/20140622-1.s | |
+++ b/output_rv64imafdc_lp64d_O2/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64d_O2/loop-5.s b/output_rv64imafdc_lp64d_O2/loop-5.s | |
index 4c4398adfe..a5bdfb93ff 100644 | |
--- a/output_rv64imafdc_lp64d_O2/loop-5.s | |
+++ b/output_rv64imafdc_lp64d_O2/loop-5.s | |
@@ -9,15 +9,16 @@ main: # @main | |
# %bb.0: # %entry | |
addi sp, sp, -16 | |
sd ra, 8(sp) # 8-byte Folded Spill | |
- lui a3, %hi(t) | |
- lwu a2, %lo(t)(a3) | |
- sext.w a0, a2 | |
+ lui a2, %hi(t) | |
+ lw a0, %lo(t)(a2) | |
li a1, 4 | |
bge a0, a1, .LBB0_9 | |
# %bb.1: # %ap.exit.i | |
+ slli a1, a0, 32 | |
+ srli a3, a1, 32 | |
addiw a1, a0, 1 | |
- sw a1, %lo(t)(a3) | |
- slli a2, a2, 2 | |
+ sw a1, %lo(t)(a2) | |
+ slli a2, a3, 2 | |
lui a3, %hi(a) | |
addi a3, a3, %lo(a) | |
add a2, a2, a3 | |
diff --git a/output_rv64imafdc_lp64d_O2/pr22061-1.s b/output_rv64imafdc_lp64d_O2/pr22061-1.s | |
index 141bfd37a9..277b8f7983 100644 | |
--- a/output_rv64imafdc_lp64d_O2/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64d_O2/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64d_O2/pr51581-2.s b/output_rv64imafdc_lp64d_O2/pr51581-2.s | |
index 7ce56aa11e..40ee3b4359 100644 | |
--- a/output_rv64imafdc_lp64d_O2/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64d_O2/pr51581-2.s | |
@@ -44,14 +44,14 @@ f2: # @f2 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB1_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -110,11 +110,13 @@ f4: # @f4 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, 18 | |
.LBB3_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
subw a4, a5, a4 | |
@@ -170,15 +172,15 @@ f6: # @f6 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, 19 | |
.LBB5_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -210,11 +212,10 @@ f7: # @f7 | |
addiw a6, a3, 1366 | |
.LBB6_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- sext.w a5, a4 | |
- mul a5, a5, a6 | |
+ lw a4, 0(a1) | |
+ mul a5, a4, a6 | |
srli a5, a5, 32 | |
- srli a3, a4, 31 | |
+ srliw a3, a4, 31 | |
addw a3, a3, a5 | |
slliw a5, a3, 1 | |
addw a3, a3, a5 | |
@@ -239,14 +240,14 @@ f8: # @f8 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB7_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -276,11 +277,10 @@ f9: # @f9 | |
li a6, -18 | |
.LBB8_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 34 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -306,11 +306,13 @@ f10: # @f10 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, -18 | |
.LBB9_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
addw a4, a4, a5 | |
@@ -339,11 +341,10 @@ f11: # @f11 | |
li a6, -19 | |
.LBB10_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 35 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -367,15 +368,15 @@ f12: # @f12 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, -19 | |
.LBB11_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -444,10 +445,9 @@ main: # @main | |
lui a2, 1 | |
lui a3, 349525 | |
addiw a6, a3, 1366 | |
- lui a4, 171 | |
+ lui a4, 699051 | |
addiw a4, a4, -1365 | |
- slli a4, a4, 12 | |
- addi a7, a4, -1365 | |
+ slli a7, a4, 32 | |
.LBB12_3: # %for.body5 | |
# =>This Inner Loop Header: Depth=1 | |
lw a5, 0(s0) | |
@@ -462,9 +462,10 @@ main: # @main | |
bne t0, a3, .LBB12_27 | |
# %bb.4: # %lor.lhs.false | |
# in Loop: Header=BB12_3 Depth=1 | |
- lwu a3, 0(s1) | |
+ lw a3, 0(s1) | |
lw t0, 0(a0) | |
- mul a5, a3, a7 | |
+ slli a5, a3, 32 | |
+ mulhu a5, a5, a7 | |
srli a5, a5, 33 | |
slliw a4, a5, 1 | |
addw a4, a4, a5 | |
@@ -491,24 +492,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_7: # %for.body22 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.8: # %lor.lhs.false29 | |
# in Loop: Header=BB12_7 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -536,10 +539,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_11: # %for.body43 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -553,9 +555,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.12: # %lor.lhs.false50 | |
# in Loop: Header=BB12_11 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
@@ -586,10 +589,9 @@ main: # @main | |
lui a4, 1 | |
lui a5, 349525 | |
addiw a6, a5, 1366 | |
- lui s1, 171 | |
+ lui s1, 699051 | |
addiw s1, s1, -1365 | |
- slli s1, s1, 12 | |
- addi a7, s1, -1365 | |
+ slli a7, s1, 32 | |
.LBB12_15: # %for.body64 | |
# =>This Inner Loop Header: Depth=1 | |
lw s0, 0(a2) | |
@@ -604,9 +606,10 @@ main: # @main | |
bne t0, a5, .LBB12_27 | |
# %bb.16: # %lor.lhs.false71 | |
# in Loop: Header=BB12_15 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t0, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 33 | |
slliw s1, s0, 1 | |
addw s1, s1, s0 | |
@@ -633,24 +636,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_19: # %for.body85 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.20: # %lor.lhs.false92 | |
# in Loop: Header=BB12_19 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -678,10 +683,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_23: # %for.body106 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -695,9 +699,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.24: # %lor.lhs.false113 | |
# in Loop: Header=BB12_23 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
diff --git a/output_rv64imafdc_lp64d_O2/pr53645.s b/output_rv64imafdc_lp64d_O2/pr53645.s | |
index 56bd435ece..7c352a0b5d 100644 | |
--- a/output_rv64imafdc_lp64d_O2/pr53645.s | |
+++ b/output_rv64imafdc_lp64d_O2/pr53645.s | |
@@ -188,7 +188,7 @@ sq1428: # @sq1428 | |
sr1428: # @sr1428 | |
# %bb.0: # %entry | |
lw a2, 4(a1) | |
- lwu a3, 8(a1) | |
+ lw a3, 8(a1) | |
lw a1, 12(a1) | |
slli a4, a2, 1 | |
srli a4, a4, 62 | |
@@ -200,7 +200,7 @@ sr1428: # @sr1428 | |
add a4, a4, a1 | |
andi a4, a4, -8 | |
subw a1, a1, a4 | |
- srli a4, a3, 31 | |
+ srliw a4, a3, 31 | |
add a4, a4, a3 | |
andi a4, a4, -2 | |
subw a3, a3, a4 | |
@@ -254,36 +254,44 @@ uq3333: # @uq3333 | |
.type ur3333,@function | |
ur3333: # @ur3333 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI9_0) | |
- ld a3, %lo(.LCPI9_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- srli a7, a4, 1 | |
- andi a4, a4, -2 | |
- addw a4, a4, a7 | |
- subw a7, a2, a4 | |
- mulhu a4, a1, a3 | |
- srli a2, a4, 1 | |
- andi a4, a4, -2 | |
- addw a2, a2, a4 | |
- subw a1, a1, a2 | |
- mulhu a2, a5, a3 | |
- srli a4, a2, 1 | |
- andi a2, a2, -2 | |
- addw a2, a2, a4 | |
- subw a2, a5, a2 | |
- mulhu a3, a6, a3 | |
+ lw t0, 12(a1) | |
+ lw t1, 8(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 4(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 0(a1) | |
+ lui a2, %hi(.LCPI9_0) | |
+ ld a2, %lo(.LCPI9_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 1 | |
andi a3, a3, -2 | |
addw a3, a3, a4 | |
- subw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a2, 8(a0) | |
- sw a1, 4(a0) | |
- sw a7, 0(a0) | |
+ subw a1, a1, a3 | |
+ mulhu a3, t2, a2 | |
+ srli a4, a3, 1 | |
+ andi a3, a3, -2 | |
+ addw a3, a3, a4 | |
+ subw a3, a5, a3 | |
+ mulhu a4, a7, a2 | |
+ srli a5, a4, 1 | |
+ andi a4, a4, -2 | |
+ addw a4, a4, a5 | |
+ subw a4, t1, a4 | |
+ mulhu a2, a6, a2 | |
+ srli a5, a2, 1 | |
+ andi a2, a2, -2 | |
+ addw a2, a2, a5 | |
+ subw a2, t0, a2 | |
+ sw a2, 12(a0) | |
+ sw a4, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end9: | |
.size ur3333, .Lfunc_end9-ur3333 | |
@@ -420,36 +428,44 @@ uq6565: # @uq6565 | |
.type ur6565,@function | |
ur6565: # @ur6565 | |
# %bb.0: # %entry | |
- lwu a2, 4(a1) | |
- lui a3, %hi(.LCPI13_0) | |
- ld a3, %lo(.LCPI13_0)(a3) | |
- lwu a6, 8(a1) | |
- lwu a7, 0(a1) | |
- lwu a1, 12(a1) | |
- mulhu a4, a2, a3 | |
- srli a5, a4, 2 | |
- andi a4, a4, -4 | |
- addw a4, a4, a5 | |
- subw a2, a2, a4 | |
- mulhu a3, a1, a3 | |
+ lw t0, 8(a1) | |
+ lw t1, 0(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 12(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 4(a1) | |
+ lui a2, %hi(.LCPI13_0) | |
+ ld a2, %lo(.LCPI13_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 2 | |
- lui a5, %hi(.LCPI13_1) | |
- ld a5, %lo(.LCPI13_1)(a5) | |
andi a3, a3, -4 | |
addw a3, a3, a4 | |
subw a1, a1, a3 | |
- mulhu a3, a7, a5 | |
+ mulhu a2, t2, a2 | |
+ srli a3, a2, 2 | |
+ lui a4, %hi(.LCPI13_1) | |
+ ld a4, %lo(.LCPI13_1)(a4) | |
+ andi a2, a2, -4 | |
+ addw a2, a2, a3 | |
+ subw a2, a5, a2 | |
+ mulhu a3, a7, a4 | |
srli a3, a3, 2 | |
- li a4, 6 | |
- mulw a3, a3, a4 | |
- subw a3, a7, a3 | |
- mulhu a5, a6, a5 | |
- srli a5, a5, 2 | |
- mulw a4, a5, a4 | |
- subw a4, a6, a4 | |
- sw a1, 12(a0) | |
+ li a5, 6 | |
+ mulw a3, a3, a5 | |
+ subw a3, t1, a3 | |
+ mulhu a4, a6, a4 | |
+ srli a4, a4, 2 | |
+ mulw a4, a4, a5 | |
+ subw a4, t0, a4 | |
+ sw a2, 12(a0) | |
sw a4, 8(a0) | |
- sw a2, 4(a0) | |
+ sw a1, 4(a0) | |
sw a3, 0(a0) | |
ret | |
.Lfunc_end13: | |
@@ -592,48 +608,50 @@ uq1414146: # @uq1414146 | |
.section .sdata,"aw",@progbits | |
.p2align 3 # -- Begin function ur1414146 | |
.LCPI17_0: | |
- .quad 5270498306774157605 # 0x4924924924924925 | |
-.LCPI17_1: | |
.quad -6148914691236517205 # 0xaaaaaaaaaaaaaaab | |
+.LCPI17_1: | |
+ .quad 5270498306774157605 # 0x4924924924924925 | |
.text | |
.globl ur1414146 | |
.p2align 1 | |
.type ur1414146,@function | |
ur1414146: # @ur1414146 | |
# %bb.0: # %entry | |
- lwu a6, 12(a1) | |
- lwu a3, 0(a1) | |
- lui a4, %hi(.LCPI17_0) | |
- ld a4, %lo(.LCPI17_0)(a4) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- srli a2, a3, 1 | |
- mulhu a2, a2, a4 | |
- srli a2, a2, 1 | |
- li a7, 14 | |
+ lw a6, 8(a1) | |
+ lw a3, 4(a1) | |
+ lw a4, 12(a1) | |
+ lui a5, %hi(.LCPI17_0) | |
+ ld a5, %lo(.LCPI17_0)(a5) | |
+ lw a1, 0(a1) | |
+ slli a2, a4, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ li a7, 6 | |
+ lui a5, %hi(.LCPI17_1) | |
+ ld a5, %lo(.LCPI17_1)(a5) | |
mulw a2, a2, a7 | |
- subw a2, a3, a2 | |
- srli a3, a1, 1 | |
- mulhu a3, a3, a4 | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a1, a1, a3 | |
- srli a3, a5, 1 | |
- mulhu a3, a3, a4 | |
- lui a4, %hi(.LCPI17_1) | |
- ld a4, %lo(.LCPI17_1)(a4) | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a3, a5, a3 | |
- mulhu a4, a6, a4 | |
- srli a4, a4, 2 | |
- li a5, 6 | |
- mulw a4, a4, a5 | |
- subw a4, a6, a4 | |
- sw a4, 12(a0) | |
- sw a3, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ subw a7, a4, a2 | |
+ srliw a4, a1, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ li a2, 14 | |
+ mulw a4, a4, a2 | |
+ subw a1, a1, a4 | |
+ srliw a4, a3, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a4, a4, a2 | |
+ subw a3, a3, a4 | |
+ srliw a4, a6, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a2, a4, a2 | |
+ subw a2, a6, a2 | |
+ sw a2, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
+ sw a7, 12(a0) | |
ret | |
.Lfunc_end17: | |
.size ur1414146, .Lfunc_end17-ur1414146 | |
@@ -788,48 +806,56 @@ uq7777: # @uq7777 | |
.type ur7777,@function | |
ur7777: # @ur7777 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI21_0) | |
- ld a3, %lo(.LCPI21_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a7, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- sub a5, a2, a4 | |
- srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a2, a2, a4 | |
- mulhu a4, a1, a3 | |
- sub a5, a1, a4 | |
+ lw a6, 12(a1) | |
+ lw a7, 8(a1) | |
+ slli a4, a6, 32 | |
+ lw t2, 4(a1) | |
+ srli t0, a4, 32 | |
+ slli a2, a7, 32 | |
+ srli t1, a2, 32 | |
+ slli a3, t2, 32 | |
+ lw a1, 0(a1) | |
+ lui a4, %hi(.LCPI21_0) | |
+ ld a4, %lo(.LCPI21_0)(a4) | |
+ srli a3, a3, 32 | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a5, a2, a4 | |
+ sub a2, a2, a5 | |
+ srli a2, a2, 1 | |
+ add a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ slliw a5, a2, 3 | |
+ subw a2, a2, a5 | |
+ addw a1, a1, a2 | |
+ mulhu a2, a3, a4 | |
+ sub a3, a3, a2 | |
+ srli a3, a3, 1 | |
+ add a2, a2, a3 | |
+ srli a2, a2, 2 | |
+ slliw a3, a2, 3 | |
+ subw a2, a2, a3 | |
+ addw a2, t2, a2 | |
+ mulhu a3, t1, a4 | |
+ sub a5, t1, a3 | |
srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a1, a1, a4 | |
- mulhu a4, a7, a3 | |
- sub a5, a7, a4 | |
+ add a3, a3, a5 | |
+ srli a3, a3, 2 | |
+ slliw a5, a3, 3 | |
+ subw a3, a3, a5 | |
+ addw a3, a7, a3 | |
+ mulhu a4, t0, a4 | |
+ sub a5, t0, a4 | |
srli a5, a5, 1 | |
add a4, a4, a5 | |
srli a4, a4, 2 | |
slliw a5, a4, 3 | |
subw a4, a4, a5 | |
- addw a4, a7, a4 | |
- mulhu a3, a6, a3 | |
- sub a5, a6, a3 | |
- srli a5, a5, 1 | |
- add a3, a3, a5 | |
- srli a3, a3, 2 | |
- slliw a5, a3, 3 | |
- subw a3, a3, a5 | |
- addw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a4, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ addw a4, a6, a4 | |
+ sw a4, 12(a0) | |
+ sw a3, 8(a0) | |
+ sw a2, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end21: | |
.size ur7777, .Lfunc_end21-ur7777 | |
@@ -931,43 +957,37 @@ sr7777: # @sr7777 | |
.type main,@function | |
main: # @main | |
# %bb.0: # %entry | |
- addi sp, sp, -144 | |
- sd ra, 136(sp) # 8-byte Folded Spill | |
- sd s0, 128(sp) # 8-byte Folded Spill | |
- sd s1, 120(sp) # 8-byte Folded Spill | |
- sd s2, 112(sp) # 8-byte Folded Spill | |
- sd s3, 104(sp) # 8-byte Folded Spill | |
- sd s4, 96(sp) # 8-byte Folded Spill | |
- sd s5, 88(sp) # 8-byte Folded Spill | |
- sd s6, 80(sp) # 8-byte Folded Spill | |
- sd s7, 72(sp) # 8-byte Folded Spill | |
- sd s8, 64(sp) # 8-byte Folded Spill | |
- sd s9, 56(sp) # 8-byte Folded Spill | |
- sd s10, 48(sp) # 8-byte Folded Spill | |
- sd s11, 40(sp) # 8-byte Folded Spill | |
+ addi sp, sp, -128 | |
+ sd ra, 120(sp) # 8-byte Folded Spill | |
+ sd s0, 112(sp) # 8-byte Folded Spill | |
+ sd s1, 104(sp) # 8-byte Folded Spill | |
+ sd s2, 96(sp) # 8-byte Folded Spill | |
+ sd s3, 88(sp) # 8-byte Folded Spill | |
+ sd s4, 80(sp) # 8-byte Folded Spill | |
+ sd s5, 72(sp) # 8-byte Folded Spill | |
+ sd s6, 64(sp) # 8-byte Folded Spill | |
+ sd s7, 56(sp) # 8-byte Folded Spill | |
+ sd s8, 48(sp) # 8-byte Folded Spill | |
+ sd s9, 40(sp) # 8-byte Folded Spill | |
li a0, 0 | |
li s3, 1 | |
lui a1, %hi(u) | |
addi s2, a1, %lo(u) | |
- addi s1, sp, 16 | |
- lui a1, 171 | |
- addiw a1, a1, -1365 | |
- slli a1, a1, 12 | |
- addi s4, a1, -1365 | |
+ addi s4, sp, 16 | |
lui a1, 699051 | |
addiw a1, a1, -1365 | |
- slli s5, a1, 32 | |
+ slli s1, a1, 32 | |
lui a1, 838861 | |
addiw a1, a1, -819 | |
- slli s6, a1, 32 | |
- li s7, 6 | |
+ slli s5, a1, 32 | |
+ li s6, 6 | |
lui a1, 299593 | |
slli a1, a1, 1 | |
- addi s8, a1, 1171 | |
- li s9, 14 | |
+ addi s7, a1, 1171 | |
+ li s8, 14 | |
lui a1, 149797 | |
- addiw s10, a1, -1755 | |
- slli s11, s10, 32 | |
+ addiw a1, a1, -1755 | |
+ slli s9, a1, 32 | |
.LBB24_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
slli a0, a0, 4 | |
@@ -975,9 +995,9 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.2: # %lor.lhs.false | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -989,9 +1009,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.4: # %lor.lhs.false19 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1006,7 +1026,7 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1020,7 +1040,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1050,9 +1070,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
+ srliw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
# %bb.12: # %lor.lhs.false90 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1079,7 +1099,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1096,9 +1116,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.18: # %lor.lhs.false145 | |
@@ -1106,16 +1127,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.19: # %if.end154 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.20: # %lor.lhs.false162 | |
@@ -1123,7 +1145,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.21: # %if.end171 | |
@@ -1133,9 +1155,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1146,7 +1169,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1156,9 +1179,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1169,7 +1193,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1182,9 +1206,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.26: # %lor.lhs.false217 | |
@@ -1192,16 +1217,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.27: # %if.end226 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.28: # %lor.lhs.false234 | |
@@ -1209,7 +1235,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.29: # %if.end243 | |
@@ -1219,11 +1245,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.30: # %lor.lhs.false253 | |
@@ -1231,7 +1258,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1241,11 +1268,12 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.32: # %lor.lhs.false270 | |
@@ -1253,7 +1281,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1266,10 +1294,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.34: # %lor.lhs.false289 | |
@@ -1277,17 +1305,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.35: # %if.end298 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.36: # %lor.lhs.false306 | |
@@ -1295,7 +1323,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a0, a0, 1 | |
- mul a0, a0, s8 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.37: # %if.end315 | |
@@ -1305,12 +1333,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.38: # %lor.lhs.false325 | |
@@ -1318,21 +1346,21 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.39: # %if.end334 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.40: # %lor.lhs.false342 | |
@@ -1340,9 +1368,9 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a2, a0, 1 | |
- mul a2, a2, s8 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.41: # %if.end351 | |
@@ -1352,9 +1380,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1366,7 +1395,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1377,9 +1406,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1391,7 +1421,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1405,9 +1435,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1422,7 +1453,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1436,9 +1467,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1453,7 +1485,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1505,8 +1537,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1525,8 +1557,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1549,8 +1581,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1571,8 +1603,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1591,8 +1623,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 29 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 61 | |
addw a0, a0, a2 | |
sraiw a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1600,9 +1632,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
addw a0, a0, a2 | |
sraiw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1610,8 +1642,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1638,9 +1670,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
add a2, a2, a0 | |
andi a2, a2, -2 | |
subw a0, a0, a2 | |
@@ -1649,8 +1681,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -2079,20 +2111,18 @@ main: # @main | |
bnez a1, .LBB24_51 | |
# %bb.100: # %for.end863 | |
li a0, 0 | |
- ld ra, 136(sp) # 8-byte Folded Reload | |
- ld s0, 128(sp) # 8-byte Folded Reload | |
- ld s1, 120(sp) # 8-byte Folded Reload | |
- ld s2, 112(sp) # 8-byte Folded Reload | |
- ld s3, 104(sp) # 8-byte Folded Reload | |
- ld s4, 96(sp) # 8-byte Folded Reload | |
- ld s5, 88(sp) # 8-byte Folded Reload | |
- ld s6, 80(sp) # 8-byte Folded Reload | |
- ld s7, 72(sp) # 8-byte Folded Reload | |
- ld s8, 64(sp) # 8-byte Folded Reload | |
- ld s9, 56(sp) # 8-byte Folded Reload | |
- ld s10, 48(sp) # 8-byte Folded Reload | |
- ld s11, 40(sp) # 8-byte Folded Reload | |
- addi sp, sp, 144 | |
+ ld ra, 120(sp) # 8-byte Folded Reload | |
+ ld s0, 112(sp) # 8-byte Folded Reload | |
+ ld s1, 104(sp) # 8-byte Folded Reload | |
+ ld s2, 96(sp) # 8-byte Folded Reload | |
+ ld s3, 88(sp) # 8-byte Folded Reload | |
+ ld s4, 80(sp) # 8-byte Folded Reload | |
+ ld s5, 72(sp) # 8-byte Folded Reload | |
+ ld s6, 64(sp) # 8-byte Folded Reload | |
+ ld s7, 56(sp) # 8-byte Folded Reload | |
+ ld s8, 48(sp) # 8-byte Folded Reload | |
+ ld s9, 40(sp) # 8-byte Folded Reload | |
+ addi sp, sp, 128 | |
ret | |
.LBB24_101: # %if.then | |
call abort | |
diff --git a/output_rv64imafdc_lp64d_O3/20140622-1.s b/output_rv64imafdc_lp64d_O3/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64d_O3/20140622-1.s | |
+++ b/output_rv64imafdc_lp64d_O3/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64d_O3/loop-5.s b/output_rv64imafdc_lp64d_O3/loop-5.s | |
index 4c4398adfe..a5bdfb93ff 100644 | |
--- a/output_rv64imafdc_lp64d_O3/loop-5.s | |
+++ b/output_rv64imafdc_lp64d_O3/loop-5.s | |
@@ -9,15 +9,16 @@ main: # @main | |
# %bb.0: # %entry | |
addi sp, sp, -16 | |
sd ra, 8(sp) # 8-byte Folded Spill | |
- lui a3, %hi(t) | |
- lwu a2, %lo(t)(a3) | |
- sext.w a0, a2 | |
+ lui a2, %hi(t) | |
+ lw a0, %lo(t)(a2) | |
li a1, 4 | |
bge a0, a1, .LBB0_9 | |
# %bb.1: # %ap.exit.i | |
+ slli a1, a0, 32 | |
+ srli a3, a1, 32 | |
addiw a1, a0, 1 | |
- sw a1, %lo(t)(a3) | |
- slli a2, a2, 2 | |
+ sw a1, %lo(t)(a2) | |
+ slli a2, a3, 2 | |
lui a3, %hi(a) | |
addi a3, a3, %lo(a) | |
add a2, a2, a3 | |
diff --git a/output_rv64imafdc_lp64d_O3/pr22061-1.s b/output_rv64imafdc_lp64d_O3/pr22061-1.s | |
index 141bfd37a9..277b8f7983 100644 | |
--- a/output_rv64imafdc_lp64d_O3/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64d_O3/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64d_O3/pr51581-2.s b/output_rv64imafdc_lp64d_O3/pr51581-2.s | |
index 7ce56aa11e..40ee3b4359 100644 | |
--- a/output_rv64imafdc_lp64d_O3/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64d_O3/pr51581-2.s | |
@@ -44,14 +44,14 @@ f2: # @f2 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB1_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -110,11 +110,13 @@ f4: # @f4 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, 18 | |
.LBB3_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
subw a4, a5, a4 | |
@@ -170,15 +172,15 @@ f6: # @f6 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, 19 | |
.LBB5_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -210,11 +212,10 @@ f7: # @f7 | |
addiw a6, a3, 1366 | |
.LBB6_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- sext.w a5, a4 | |
- mul a5, a5, a6 | |
+ lw a4, 0(a1) | |
+ mul a5, a4, a6 | |
srli a5, a5, 32 | |
- srli a3, a4, 31 | |
+ srliw a3, a4, 31 | |
addw a3, a3, a5 | |
slliw a5, a3, 1 | |
addw a3, a3, a5 | |
@@ -239,14 +240,14 @@ f8: # @f8 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB7_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -276,11 +277,10 @@ f9: # @f9 | |
li a6, -18 | |
.LBB8_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 34 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -306,11 +306,13 @@ f10: # @f10 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, -18 | |
.LBB9_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
addw a4, a4, a5 | |
@@ -339,11 +341,10 @@ f11: # @f11 | |
li a6, -19 | |
.LBB10_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 35 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -367,15 +368,15 @@ f12: # @f12 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, -19 | |
.LBB11_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -444,10 +445,9 @@ main: # @main | |
lui a2, 1 | |
lui a3, 349525 | |
addiw a6, a3, 1366 | |
- lui a4, 171 | |
+ lui a4, 699051 | |
addiw a4, a4, -1365 | |
- slli a4, a4, 12 | |
- addi a7, a4, -1365 | |
+ slli a7, a4, 32 | |
.LBB12_3: # %for.body5 | |
# =>This Inner Loop Header: Depth=1 | |
lw a5, 0(s0) | |
@@ -462,9 +462,10 @@ main: # @main | |
bne t0, a3, .LBB12_27 | |
# %bb.4: # %lor.lhs.false | |
# in Loop: Header=BB12_3 Depth=1 | |
- lwu a3, 0(s1) | |
+ lw a3, 0(s1) | |
lw t0, 0(a0) | |
- mul a5, a3, a7 | |
+ slli a5, a3, 32 | |
+ mulhu a5, a5, a7 | |
srli a5, a5, 33 | |
slliw a4, a5, 1 | |
addw a4, a4, a5 | |
@@ -491,24 +492,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_7: # %for.body22 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.8: # %lor.lhs.false29 | |
# in Loop: Header=BB12_7 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -536,10 +539,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_11: # %for.body43 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -553,9 +555,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.12: # %lor.lhs.false50 | |
# in Loop: Header=BB12_11 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
@@ -586,10 +589,9 @@ main: # @main | |
lui a4, 1 | |
lui a5, 349525 | |
addiw a6, a5, 1366 | |
- lui s1, 171 | |
+ lui s1, 699051 | |
addiw s1, s1, -1365 | |
- slli s1, s1, 12 | |
- addi a7, s1, -1365 | |
+ slli a7, s1, 32 | |
.LBB12_15: # %for.body64 | |
# =>This Inner Loop Header: Depth=1 | |
lw s0, 0(a2) | |
@@ -604,9 +606,10 @@ main: # @main | |
bne t0, a5, .LBB12_27 | |
# %bb.16: # %lor.lhs.false71 | |
# in Loop: Header=BB12_15 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t0, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 33 | |
slliw s1, s0, 1 | |
addw s1, s1, s0 | |
@@ -633,24 +636,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_19: # %for.body85 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.20: # %lor.lhs.false92 | |
# in Loop: Header=BB12_19 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -678,10 +683,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_23: # %for.body106 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -695,9 +699,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.24: # %lor.lhs.false113 | |
# in Loop: Header=BB12_23 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
diff --git a/output_rv64imafdc_lp64d_O3/pr53645.s b/output_rv64imafdc_lp64d_O3/pr53645.s | |
index 56bd435ece..7c352a0b5d 100644 | |
--- a/output_rv64imafdc_lp64d_O3/pr53645.s | |
+++ b/output_rv64imafdc_lp64d_O3/pr53645.s | |
@@ -188,7 +188,7 @@ sq1428: # @sq1428 | |
sr1428: # @sr1428 | |
# %bb.0: # %entry | |
lw a2, 4(a1) | |
- lwu a3, 8(a1) | |
+ lw a3, 8(a1) | |
lw a1, 12(a1) | |
slli a4, a2, 1 | |
srli a4, a4, 62 | |
@@ -200,7 +200,7 @@ sr1428: # @sr1428 | |
add a4, a4, a1 | |
andi a4, a4, -8 | |
subw a1, a1, a4 | |
- srli a4, a3, 31 | |
+ srliw a4, a3, 31 | |
add a4, a4, a3 | |
andi a4, a4, -2 | |
subw a3, a3, a4 | |
@@ -254,36 +254,44 @@ uq3333: # @uq3333 | |
.type ur3333,@function | |
ur3333: # @ur3333 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI9_0) | |
- ld a3, %lo(.LCPI9_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- srli a7, a4, 1 | |
- andi a4, a4, -2 | |
- addw a4, a4, a7 | |
- subw a7, a2, a4 | |
- mulhu a4, a1, a3 | |
- srli a2, a4, 1 | |
- andi a4, a4, -2 | |
- addw a2, a2, a4 | |
- subw a1, a1, a2 | |
- mulhu a2, a5, a3 | |
- srli a4, a2, 1 | |
- andi a2, a2, -2 | |
- addw a2, a2, a4 | |
- subw a2, a5, a2 | |
- mulhu a3, a6, a3 | |
+ lw t0, 12(a1) | |
+ lw t1, 8(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 4(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 0(a1) | |
+ lui a2, %hi(.LCPI9_0) | |
+ ld a2, %lo(.LCPI9_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 1 | |
andi a3, a3, -2 | |
addw a3, a3, a4 | |
- subw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a2, 8(a0) | |
- sw a1, 4(a0) | |
- sw a7, 0(a0) | |
+ subw a1, a1, a3 | |
+ mulhu a3, t2, a2 | |
+ srli a4, a3, 1 | |
+ andi a3, a3, -2 | |
+ addw a3, a3, a4 | |
+ subw a3, a5, a3 | |
+ mulhu a4, a7, a2 | |
+ srli a5, a4, 1 | |
+ andi a4, a4, -2 | |
+ addw a4, a4, a5 | |
+ subw a4, t1, a4 | |
+ mulhu a2, a6, a2 | |
+ srli a5, a2, 1 | |
+ andi a2, a2, -2 | |
+ addw a2, a2, a5 | |
+ subw a2, t0, a2 | |
+ sw a2, 12(a0) | |
+ sw a4, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end9: | |
.size ur3333, .Lfunc_end9-ur3333 | |
@@ -420,36 +428,44 @@ uq6565: # @uq6565 | |
.type ur6565,@function | |
ur6565: # @ur6565 | |
# %bb.0: # %entry | |
- lwu a2, 4(a1) | |
- lui a3, %hi(.LCPI13_0) | |
- ld a3, %lo(.LCPI13_0)(a3) | |
- lwu a6, 8(a1) | |
- lwu a7, 0(a1) | |
- lwu a1, 12(a1) | |
- mulhu a4, a2, a3 | |
- srli a5, a4, 2 | |
- andi a4, a4, -4 | |
- addw a4, a4, a5 | |
- subw a2, a2, a4 | |
- mulhu a3, a1, a3 | |
+ lw t0, 8(a1) | |
+ lw t1, 0(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 12(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 4(a1) | |
+ lui a2, %hi(.LCPI13_0) | |
+ ld a2, %lo(.LCPI13_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 2 | |
- lui a5, %hi(.LCPI13_1) | |
- ld a5, %lo(.LCPI13_1)(a5) | |
andi a3, a3, -4 | |
addw a3, a3, a4 | |
subw a1, a1, a3 | |
- mulhu a3, a7, a5 | |
+ mulhu a2, t2, a2 | |
+ srli a3, a2, 2 | |
+ lui a4, %hi(.LCPI13_1) | |
+ ld a4, %lo(.LCPI13_1)(a4) | |
+ andi a2, a2, -4 | |
+ addw a2, a2, a3 | |
+ subw a2, a5, a2 | |
+ mulhu a3, a7, a4 | |
srli a3, a3, 2 | |
- li a4, 6 | |
- mulw a3, a3, a4 | |
- subw a3, a7, a3 | |
- mulhu a5, a6, a5 | |
- srli a5, a5, 2 | |
- mulw a4, a5, a4 | |
- subw a4, a6, a4 | |
- sw a1, 12(a0) | |
+ li a5, 6 | |
+ mulw a3, a3, a5 | |
+ subw a3, t1, a3 | |
+ mulhu a4, a6, a4 | |
+ srli a4, a4, 2 | |
+ mulw a4, a4, a5 | |
+ subw a4, t0, a4 | |
+ sw a2, 12(a0) | |
sw a4, 8(a0) | |
- sw a2, 4(a0) | |
+ sw a1, 4(a0) | |
sw a3, 0(a0) | |
ret | |
.Lfunc_end13: | |
@@ -592,48 +608,50 @@ uq1414146: # @uq1414146 | |
.section .sdata,"aw",@progbits | |
.p2align 3 # -- Begin function ur1414146 | |
.LCPI17_0: | |
- .quad 5270498306774157605 # 0x4924924924924925 | |
-.LCPI17_1: | |
.quad -6148914691236517205 # 0xaaaaaaaaaaaaaaab | |
+.LCPI17_1: | |
+ .quad 5270498306774157605 # 0x4924924924924925 | |
.text | |
.globl ur1414146 | |
.p2align 1 | |
.type ur1414146,@function | |
ur1414146: # @ur1414146 | |
# %bb.0: # %entry | |
- lwu a6, 12(a1) | |
- lwu a3, 0(a1) | |
- lui a4, %hi(.LCPI17_0) | |
- ld a4, %lo(.LCPI17_0)(a4) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- srli a2, a3, 1 | |
- mulhu a2, a2, a4 | |
- srli a2, a2, 1 | |
- li a7, 14 | |
+ lw a6, 8(a1) | |
+ lw a3, 4(a1) | |
+ lw a4, 12(a1) | |
+ lui a5, %hi(.LCPI17_0) | |
+ ld a5, %lo(.LCPI17_0)(a5) | |
+ lw a1, 0(a1) | |
+ slli a2, a4, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ li a7, 6 | |
+ lui a5, %hi(.LCPI17_1) | |
+ ld a5, %lo(.LCPI17_1)(a5) | |
mulw a2, a2, a7 | |
- subw a2, a3, a2 | |
- srli a3, a1, 1 | |
- mulhu a3, a3, a4 | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a1, a1, a3 | |
- srli a3, a5, 1 | |
- mulhu a3, a3, a4 | |
- lui a4, %hi(.LCPI17_1) | |
- ld a4, %lo(.LCPI17_1)(a4) | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a3, a5, a3 | |
- mulhu a4, a6, a4 | |
- srli a4, a4, 2 | |
- li a5, 6 | |
- mulw a4, a4, a5 | |
- subw a4, a6, a4 | |
- sw a4, 12(a0) | |
- sw a3, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ subw a7, a4, a2 | |
+ srliw a4, a1, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ li a2, 14 | |
+ mulw a4, a4, a2 | |
+ subw a1, a1, a4 | |
+ srliw a4, a3, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a4, a4, a2 | |
+ subw a3, a3, a4 | |
+ srliw a4, a6, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a2, a4, a2 | |
+ subw a2, a6, a2 | |
+ sw a2, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
+ sw a7, 12(a0) | |
ret | |
.Lfunc_end17: | |
.size ur1414146, .Lfunc_end17-ur1414146 | |
@@ -788,48 +806,56 @@ uq7777: # @uq7777 | |
.type ur7777,@function | |
ur7777: # @ur7777 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI21_0) | |
- ld a3, %lo(.LCPI21_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a7, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- sub a5, a2, a4 | |
- srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a2, a2, a4 | |
- mulhu a4, a1, a3 | |
- sub a5, a1, a4 | |
+ lw a6, 12(a1) | |
+ lw a7, 8(a1) | |
+ slli a4, a6, 32 | |
+ lw t2, 4(a1) | |
+ srli t0, a4, 32 | |
+ slli a2, a7, 32 | |
+ srli t1, a2, 32 | |
+ slli a3, t2, 32 | |
+ lw a1, 0(a1) | |
+ lui a4, %hi(.LCPI21_0) | |
+ ld a4, %lo(.LCPI21_0)(a4) | |
+ srli a3, a3, 32 | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a5, a2, a4 | |
+ sub a2, a2, a5 | |
+ srli a2, a2, 1 | |
+ add a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ slliw a5, a2, 3 | |
+ subw a2, a2, a5 | |
+ addw a1, a1, a2 | |
+ mulhu a2, a3, a4 | |
+ sub a3, a3, a2 | |
+ srli a3, a3, 1 | |
+ add a2, a2, a3 | |
+ srli a2, a2, 2 | |
+ slliw a3, a2, 3 | |
+ subw a2, a2, a3 | |
+ addw a2, t2, a2 | |
+ mulhu a3, t1, a4 | |
+ sub a5, t1, a3 | |
srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a1, a1, a4 | |
- mulhu a4, a7, a3 | |
- sub a5, a7, a4 | |
+ add a3, a3, a5 | |
+ srli a3, a3, 2 | |
+ slliw a5, a3, 3 | |
+ subw a3, a3, a5 | |
+ addw a3, a7, a3 | |
+ mulhu a4, t0, a4 | |
+ sub a5, t0, a4 | |
srli a5, a5, 1 | |
add a4, a4, a5 | |
srli a4, a4, 2 | |
slliw a5, a4, 3 | |
subw a4, a4, a5 | |
- addw a4, a7, a4 | |
- mulhu a3, a6, a3 | |
- sub a5, a6, a3 | |
- srli a5, a5, 1 | |
- add a3, a3, a5 | |
- srli a3, a3, 2 | |
- slliw a5, a3, 3 | |
- subw a3, a3, a5 | |
- addw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a4, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ addw a4, a6, a4 | |
+ sw a4, 12(a0) | |
+ sw a3, 8(a0) | |
+ sw a2, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end21: | |
.size ur7777, .Lfunc_end21-ur7777 | |
@@ -931,43 +957,37 @@ sr7777: # @sr7777 | |
.type main,@function | |
main: # @main | |
# %bb.0: # %entry | |
- addi sp, sp, -144 | |
- sd ra, 136(sp) # 8-byte Folded Spill | |
- sd s0, 128(sp) # 8-byte Folded Spill | |
- sd s1, 120(sp) # 8-byte Folded Spill | |
- sd s2, 112(sp) # 8-byte Folded Spill | |
- sd s3, 104(sp) # 8-byte Folded Spill | |
- sd s4, 96(sp) # 8-byte Folded Spill | |
- sd s5, 88(sp) # 8-byte Folded Spill | |
- sd s6, 80(sp) # 8-byte Folded Spill | |
- sd s7, 72(sp) # 8-byte Folded Spill | |
- sd s8, 64(sp) # 8-byte Folded Spill | |
- sd s9, 56(sp) # 8-byte Folded Spill | |
- sd s10, 48(sp) # 8-byte Folded Spill | |
- sd s11, 40(sp) # 8-byte Folded Spill | |
+ addi sp, sp, -128 | |
+ sd ra, 120(sp) # 8-byte Folded Spill | |
+ sd s0, 112(sp) # 8-byte Folded Spill | |
+ sd s1, 104(sp) # 8-byte Folded Spill | |
+ sd s2, 96(sp) # 8-byte Folded Spill | |
+ sd s3, 88(sp) # 8-byte Folded Spill | |
+ sd s4, 80(sp) # 8-byte Folded Spill | |
+ sd s5, 72(sp) # 8-byte Folded Spill | |
+ sd s6, 64(sp) # 8-byte Folded Spill | |
+ sd s7, 56(sp) # 8-byte Folded Spill | |
+ sd s8, 48(sp) # 8-byte Folded Spill | |
+ sd s9, 40(sp) # 8-byte Folded Spill | |
li a0, 0 | |
li s3, 1 | |
lui a1, %hi(u) | |
addi s2, a1, %lo(u) | |
- addi s1, sp, 16 | |
- lui a1, 171 | |
- addiw a1, a1, -1365 | |
- slli a1, a1, 12 | |
- addi s4, a1, -1365 | |
+ addi s4, sp, 16 | |
lui a1, 699051 | |
addiw a1, a1, -1365 | |
- slli s5, a1, 32 | |
+ slli s1, a1, 32 | |
lui a1, 838861 | |
addiw a1, a1, -819 | |
- slli s6, a1, 32 | |
- li s7, 6 | |
+ slli s5, a1, 32 | |
+ li s6, 6 | |
lui a1, 299593 | |
slli a1, a1, 1 | |
- addi s8, a1, 1171 | |
- li s9, 14 | |
+ addi s7, a1, 1171 | |
+ li s8, 14 | |
lui a1, 149797 | |
- addiw s10, a1, -1755 | |
- slli s11, s10, 32 | |
+ addiw a1, a1, -1755 | |
+ slli s9, a1, 32 | |
.LBB24_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
slli a0, a0, 4 | |
@@ -975,9 +995,9 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.2: # %lor.lhs.false | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -989,9 +1009,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.4: # %lor.lhs.false19 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1006,7 +1026,7 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1020,7 +1040,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1050,9 +1070,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
+ srliw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
# %bb.12: # %lor.lhs.false90 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1079,7 +1099,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1096,9 +1116,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.18: # %lor.lhs.false145 | |
@@ -1106,16 +1127,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.19: # %if.end154 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.20: # %lor.lhs.false162 | |
@@ -1123,7 +1145,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.21: # %if.end171 | |
@@ -1133,9 +1155,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1146,7 +1169,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1156,9 +1179,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1169,7 +1193,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1182,9 +1206,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.26: # %lor.lhs.false217 | |
@@ -1192,16 +1217,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.27: # %if.end226 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.28: # %lor.lhs.false234 | |
@@ -1209,7 +1235,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.29: # %if.end243 | |
@@ -1219,11 +1245,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.30: # %lor.lhs.false253 | |
@@ -1231,7 +1258,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1241,11 +1268,12 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.32: # %lor.lhs.false270 | |
@@ -1253,7 +1281,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1266,10 +1294,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.34: # %lor.lhs.false289 | |
@@ -1277,17 +1305,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.35: # %if.end298 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.36: # %lor.lhs.false306 | |
@@ -1295,7 +1323,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a0, a0, 1 | |
- mul a0, a0, s8 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.37: # %if.end315 | |
@@ -1305,12 +1333,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.38: # %lor.lhs.false325 | |
@@ -1318,21 +1346,21 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.39: # %if.end334 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.40: # %lor.lhs.false342 | |
@@ -1340,9 +1368,9 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a2, a0, 1 | |
- mul a2, a2, s8 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.41: # %if.end351 | |
@@ -1352,9 +1380,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1366,7 +1395,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1377,9 +1406,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1391,7 +1421,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1405,9 +1435,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1422,7 +1453,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1436,9 +1467,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1453,7 +1485,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1505,8 +1537,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1525,8 +1557,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1549,8 +1581,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1571,8 +1603,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1591,8 +1623,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 29 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 61 | |
addw a0, a0, a2 | |
sraiw a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1600,9 +1632,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
addw a0, a0, a2 | |
sraiw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1610,8 +1642,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1638,9 +1670,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
add a2, a2, a0 | |
andi a2, a2, -2 | |
subw a0, a0, a2 | |
@@ -1649,8 +1681,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -2079,20 +2111,18 @@ main: # @main | |
bnez a1, .LBB24_51 | |
# %bb.100: # %for.end863 | |
li a0, 0 | |
- ld ra, 136(sp) # 8-byte Folded Reload | |
- ld s0, 128(sp) # 8-byte Folded Reload | |
- ld s1, 120(sp) # 8-byte Folded Reload | |
- ld s2, 112(sp) # 8-byte Folded Reload | |
- ld s3, 104(sp) # 8-byte Folded Reload | |
- ld s4, 96(sp) # 8-byte Folded Reload | |
- ld s5, 88(sp) # 8-byte Folded Reload | |
- ld s6, 80(sp) # 8-byte Folded Reload | |
- ld s7, 72(sp) # 8-byte Folded Reload | |
- ld s8, 64(sp) # 8-byte Folded Reload | |
- ld s9, 56(sp) # 8-byte Folded Reload | |
- ld s10, 48(sp) # 8-byte Folded Reload | |
- ld s11, 40(sp) # 8-byte Folded Reload | |
- addi sp, sp, 144 | |
+ ld ra, 120(sp) # 8-byte Folded Reload | |
+ ld s0, 112(sp) # 8-byte Folded Reload | |
+ ld s1, 104(sp) # 8-byte Folded Reload | |
+ ld s2, 96(sp) # 8-byte Folded Reload | |
+ ld s3, 88(sp) # 8-byte Folded Reload | |
+ ld s4, 80(sp) # 8-byte Folded Reload | |
+ ld s5, 72(sp) # 8-byte Folded Reload | |
+ ld s6, 64(sp) # 8-byte Folded Reload | |
+ ld s7, 56(sp) # 8-byte Folded Reload | |
+ ld s8, 48(sp) # 8-byte Folded Reload | |
+ ld s9, 40(sp) # 8-byte Folded Reload | |
+ addi sp, sp, 128 | |
ret | |
.LBB24_101: # %if.then | |
call abort | |
diff --git a/output_rv64imafdc_lp64d_Os/20140622-1.s b/output_rv64imafdc_lp64d_Os/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64d_Os/20140622-1.s | |
+++ b/output_rv64imafdc_lp64d_Os/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64d_Os/pr22061-1.s b/output_rv64imafdc_lp64d_Os/pr22061-1.s | |
index 141bfd37a9..277b8f7983 100644 | |
--- a/output_rv64imafdc_lp64d_Os/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64d_Os/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: | |
diff --git a/output_rv64imafdc_lp64d_Os/pr51581-2.s b/output_rv64imafdc_lp64d_Os/pr51581-2.s | |
index 7ce56aa11e..40ee3b4359 100644 | |
--- a/output_rv64imafdc_lp64d_Os/pr51581-2.s | |
+++ b/output_rv64imafdc_lp64d_Os/pr51581-2.s | |
@@ -44,14 +44,14 @@ f2: # @f2 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB1_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -110,11 +110,13 @@ f4: # @f4 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, 18 | |
.LBB3_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
subw a4, a5, a4 | |
@@ -170,15 +172,15 @@ f6: # @f6 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, 19 | |
.LBB5_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -210,11 +212,10 @@ f7: # @f7 | |
addiw a6, a3, 1366 | |
.LBB6_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- sext.w a5, a4 | |
- mul a5, a5, a6 | |
+ lw a4, 0(a1) | |
+ mul a5, a4, a6 | |
srli a5, a5, 32 | |
- srli a3, a4, 31 | |
+ srliw a3, a4, 31 | |
addw a3, a3, a5 | |
slliw a5, a3, 1 | |
addw a3, a3, a5 | |
@@ -239,14 +240,14 @@ f8: # @f8 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 171 | |
+ lui a3, 699051 | |
addiw a3, a3, -1365 | |
- slli a3, a3, 12 | |
- addi a6, a3, -1365 | |
+ slli a6, a3, 32 | |
.LBB7_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a4, 0(a1) | |
- mul a5, a4, a6 | |
+ lw a4, 0(a1) | |
+ slli a5, a4, 32 | |
+ mulhu a5, a5, a6 | |
srli a5, a5, 33 | |
slliw a3, a5, 1 | |
addw a3, a3, a5 | |
@@ -276,11 +277,10 @@ f9: # @f9 | |
li a6, -18 | |
.LBB8_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 34 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -306,11 +306,13 @@ f10: # @f10 | |
lui a2, 1 | |
lui a3, 233017 | |
addiw a3, a3, -455 | |
+ slli a3, a3, 32 | |
li a6, -18 | |
.LBB9_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a3 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a3 | |
srli a4, a4, 34 | |
mulw a4, a4, a6 | |
addw a4, a4, a5 | |
@@ -339,11 +341,10 @@ f11: # @f11 | |
li a6, -19 | |
.LBB10_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- sext.w a4, a5 | |
- mul a4, a4, a7 | |
+ lw a5, 0(a1) | |
+ mul a4, a5, a7 | |
srai a4, a4, 35 | |
- srli a3, a5, 31 | |
+ srliw a3, a5, 31 | |
addw a3, a3, a4 | |
mulw a3, a3, a6 | |
addw a3, a3, a5 | |
@@ -367,15 +368,15 @@ f12: # @f12 | |
lui a1, %hi(b) | |
addi a1, a1, %lo(b) | |
lui a2, 1 | |
- lui a3, 175 | |
- addiw a3, a3, 647 | |
- slli a3, a3, 12 | |
- addi a7, a3, -1077 | |
+ lui a3, 717447 | |
+ addiw a3, a3, -1077 | |
+ slli a7, a3, 32 | |
li a6, -19 | |
.LBB11_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
- lwu a5, 0(a1) | |
- mul a4, a5, a7 | |
+ lw a5, 0(a1) | |
+ slli a4, a5, 32 | |
+ mulhu a4, a4, a7 | |
srli a4, a4, 32 | |
subw a3, a5, a4 | |
srliw a3, a3, 1 | |
@@ -444,10 +445,9 @@ main: # @main | |
lui a2, 1 | |
lui a3, 349525 | |
addiw a6, a3, 1366 | |
- lui a4, 171 | |
+ lui a4, 699051 | |
addiw a4, a4, -1365 | |
- slli a4, a4, 12 | |
- addi a7, a4, -1365 | |
+ slli a7, a4, 32 | |
.LBB12_3: # %for.body5 | |
# =>This Inner Loop Header: Depth=1 | |
lw a5, 0(s0) | |
@@ -462,9 +462,10 @@ main: # @main | |
bne t0, a3, .LBB12_27 | |
# %bb.4: # %lor.lhs.false | |
# in Loop: Header=BB12_3 Depth=1 | |
- lwu a3, 0(s1) | |
+ lw a3, 0(s1) | |
lw t0, 0(a0) | |
- mul a5, a3, a7 | |
+ slli a5, a3, 32 | |
+ mulhu a5, a5, a7 | |
srli a5, a5, 33 | |
slliw a4, a5, 1 | |
addw a4, a4, a5 | |
@@ -491,24 +492,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_7: # %for.body22 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.8: # %lor.lhs.false29 | |
# in Loop: Header=BB12_7 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -536,10 +539,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_11: # %for.body43 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -553,9 +555,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.12: # %lor.lhs.false50 | |
# in Loop: Header=BB12_11 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
@@ -586,10 +589,9 @@ main: # @main | |
lui a4, 1 | |
lui a5, 349525 | |
addiw a6, a5, 1366 | |
- lui s1, 171 | |
+ lui s1, 699051 | |
addiw s1, s1, -1365 | |
- slli s1, s1, 12 | |
- addi a7, s1, -1365 | |
+ slli a7, s1, 32 | |
.LBB12_15: # %for.body64 | |
# =>This Inner Loop Header: Depth=1 | |
lw s0, 0(a2) | |
@@ -604,9 +606,10 @@ main: # @main | |
bne t0, a5, .LBB12_27 | |
# %bb.16: # %lor.lhs.false71 | |
# in Loop: Header=BB12_15 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t0, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 33 | |
slliw s1, s0, 1 | |
addw s1, s1, s0 | |
@@ -633,24 +636,26 @@ main: # @main | |
addi a3, a3, %lo(c) | |
lui a4, 1 | |
lui a5, 233017 | |
- addiw a7, a5, -455 | |
+ addiw t0, a5, -455 | |
li a6, 18 | |
+ slli a7, t0, 32 | |
.LBB12_19: # %for.body85 | |
# =>This Inner Loop Header: Depth=1 | |
- lw s0, 0(a2) | |
- lw t0, 0(a3) | |
- mul a5, s0, a7 | |
- srli s1, a5, 63 | |
+ lw s1, 0(a2) | |
+ lw t1, 0(a3) | |
+ mul a5, s1, t0 | |
+ srli s0, a5, 63 | |
srai a5, a5, 34 | |
- addw a5, a5, s1 | |
+ addw a5, a5, s0 | |
mulw a5, a5, a6 | |
- subw a5, s0, a5 | |
- bne t0, a5, .LBB12_27 | |
+ subw a5, s1, a5 | |
+ bne t1, a5, .LBB12_27 | |
# %bb.20: # %lor.lhs.false92 | |
# in Loop: Header=BB12_19 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw s1, 0(a1) | |
- mul s0, a5, a7 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, a7 | |
srli s0, s0, 34 | |
mulw s0, s0, a6 | |
subw a5, a5, s0 | |
@@ -678,10 +683,9 @@ main: # @main | |
lui a5, 441506 | |
addiw a7, a5, -1293 | |
li a6, 19 | |
- lui s0, 175 | |
- addiw s0, s0, 647 | |
- slli s0, s0, 12 | |
- addi t0, s0, -1077 | |
+ lui s0, 717447 | |
+ addiw s0, s0, -1077 | |
+ slli t0, s0, 32 | |
.LBB12_23: # %for.body106 | |
# =>This Inner Loop Header: Depth=1 | |
lw s1, 0(a2) | |
@@ -695,9 +699,10 @@ main: # @main | |
bne t1, a5, .LBB12_27 | |
# %bb.24: # %lor.lhs.false113 | |
# in Loop: Header=BB12_23 Depth=1 | |
- lwu a5, 0(a0) | |
+ lw a5, 0(a0) | |
lw t1, 0(a1) | |
- mul s0, a5, t0 | |
+ slli s0, a5, 32 | |
+ mulhu s0, s0, t0 | |
srli s0, s0, 32 | |
subw s1, a5, s0 | |
srliw s1, s1, 1 | |
diff --git a/output_rv64imafdc_lp64d_Os/pr53645.s b/output_rv64imafdc_lp64d_Os/pr53645.s | |
index 56bd435ece..7c352a0b5d 100644 | |
--- a/output_rv64imafdc_lp64d_Os/pr53645.s | |
+++ b/output_rv64imafdc_lp64d_Os/pr53645.s | |
@@ -188,7 +188,7 @@ sq1428: # @sq1428 | |
sr1428: # @sr1428 | |
# %bb.0: # %entry | |
lw a2, 4(a1) | |
- lwu a3, 8(a1) | |
+ lw a3, 8(a1) | |
lw a1, 12(a1) | |
slli a4, a2, 1 | |
srli a4, a4, 62 | |
@@ -200,7 +200,7 @@ sr1428: # @sr1428 | |
add a4, a4, a1 | |
andi a4, a4, -8 | |
subw a1, a1, a4 | |
- srli a4, a3, 31 | |
+ srliw a4, a3, 31 | |
add a4, a4, a3 | |
andi a4, a4, -2 | |
subw a3, a3, a4 | |
@@ -254,36 +254,44 @@ uq3333: # @uq3333 | |
.type ur3333,@function | |
ur3333: # @ur3333 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI9_0) | |
- ld a3, %lo(.LCPI9_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- srli a7, a4, 1 | |
- andi a4, a4, -2 | |
- addw a4, a4, a7 | |
- subw a7, a2, a4 | |
- mulhu a4, a1, a3 | |
- srli a2, a4, 1 | |
- andi a4, a4, -2 | |
- addw a2, a2, a4 | |
- subw a1, a1, a2 | |
- mulhu a2, a5, a3 | |
- srli a4, a2, 1 | |
- andi a2, a2, -2 | |
- addw a2, a2, a4 | |
- subw a2, a5, a2 | |
- mulhu a3, a6, a3 | |
+ lw t0, 12(a1) | |
+ lw t1, 8(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 4(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 0(a1) | |
+ lui a2, %hi(.LCPI9_0) | |
+ ld a2, %lo(.LCPI9_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 1 | |
andi a3, a3, -2 | |
addw a3, a3, a4 | |
- subw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a2, 8(a0) | |
- sw a1, 4(a0) | |
- sw a7, 0(a0) | |
+ subw a1, a1, a3 | |
+ mulhu a3, t2, a2 | |
+ srli a4, a3, 1 | |
+ andi a3, a3, -2 | |
+ addw a3, a3, a4 | |
+ subw a3, a5, a3 | |
+ mulhu a4, a7, a2 | |
+ srli a5, a4, 1 | |
+ andi a4, a4, -2 | |
+ addw a4, a4, a5 | |
+ subw a4, t1, a4 | |
+ mulhu a2, a6, a2 | |
+ srli a5, a2, 1 | |
+ andi a2, a2, -2 | |
+ addw a2, a2, a5 | |
+ subw a2, t0, a2 | |
+ sw a2, 12(a0) | |
+ sw a4, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end9: | |
.size ur3333, .Lfunc_end9-ur3333 | |
@@ -420,36 +428,44 @@ uq6565: # @uq6565 | |
.type ur6565,@function | |
ur6565: # @ur6565 | |
# %bb.0: # %entry | |
- lwu a2, 4(a1) | |
- lui a3, %hi(.LCPI13_0) | |
- ld a3, %lo(.LCPI13_0)(a3) | |
- lwu a6, 8(a1) | |
- lwu a7, 0(a1) | |
- lwu a1, 12(a1) | |
- mulhu a4, a2, a3 | |
- srli a5, a4, 2 | |
- andi a4, a4, -4 | |
- addw a4, a4, a5 | |
- subw a2, a2, a4 | |
- mulhu a3, a1, a3 | |
+ lw t0, 8(a1) | |
+ lw t1, 0(a1) | |
+ slli a4, t0, 32 | |
+ lw a5, 12(a1) | |
+ srli a6, a4, 32 | |
+ slli a4, t1, 32 | |
+ srli a7, a4, 32 | |
+ slli a4, a5, 32 | |
+ lw a1, 4(a1) | |
+ lui a2, %hi(.LCPI13_0) | |
+ ld a2, %lo(.LCPI13_0)(a2) | |
+ srli t2, a4, 32 | |
+ slli a3, a1, 32 | |
+ srli a3, a3, 32 | |
+ mulhu a3, a3, a2 | |
srli a4, a3, 2 | |
- lui a5, %hi(.LCPI13_1) | |
- ld a5, %lo(.LCPI13_1)(a5) | |
andi a3, a3, -4 | |
addw a3, a3, a4 | |
subw a1, a1, a3 | |
- mulhu a3, a7, a5 | |
+ mulhu a2, t2, a2 | |
+ srli a3, a2, 2 | |
+ lui a4, %hi(.LCPI13_1) | |
+ ld a4, %lo(.LCPI13_1)(a4) | |
+ andi a2, a2, -4 | |
+ addw a2, a2, a3 | |
+ subw a2, a5, a2 | |
+ mulhu a3, a7, a4 | |
srli a3, a3, 2 | |
- li a4, 6 | |
- mulw a3, a3, a4 | |
- subw a3, a7, a3 | |
- mulhu a5, a6, a5 | |
- srli a5, a5, 2 | |
- mulw a4, a5, a4 | |
- subw a4, a6, a4 | |
- sw a1, 12(a0) | |
+ li a5, 6 | |
+ mulw a3, a3, a5 | |
+ subw a3, t1, a3 | |
+ mulhu a4, a6, a4 | |
+ srli a4, a4, 2 | |
+ mulw a4, a4, a5 | |
+ subw a4, t0, a4 | |
+ sw a2, 12(a0) | |
sw a4, 8(a0) | |
- sw a2, 4(a0) | |
+ sw a1, 4(a0) | |
sw a3, 0(a0) | |
ret | |
.Lfunc_end13: | |
@@ -592,48 +608,50 @@ uq1414146: # @uq1414146 | |
.section .sdata,"aw",@progbits | |
.p2align 3 # -- Begin function ur1414146 | |
.LCPI17_0: | |
- .quad 5270498306774157605 # 0x4924924924924925 | |
-.LCPI17_1: | |
.quad -6148914691236517205 # 0xaaaaaaaaaaaaaaab | |
+.LCPI17_1: | |
+ .quad 5270498306774157605 # 0x4924924924924925 | |
.text | |
.globl ur1414146 | |
.p2align 1 | |
.type ur1414146,@function | |
ur1414146: # @ur1414146 | |
# %bb.0: # %entry | |
- lwu a6, 12(a1) | |
- lwu a3, 0(a1) | |
- lui a4, %hi(.LCPI17_0) | |
- ld a4, %lo(.LCPI17_0)(a4) | |
- lwu a5, 8(a1) | |
- lwu a1, 4(a1) | |
- srli a2, a3, 1 | |
- mulhu a2, a2, a4 | |
- srli a2, a2, 1 | |
- li a7, 14 | |
+ lw a6, 8(a1) | |
+ lw a3, 4(a1) | |
+ lw a4, 12(a1) | |
+ lui a5, %hi(.LCPI17_0) | |
+ ld a5, %lo(.LCPI17_0)(a5) | |
+ lw a1, 0(a1) | |
+ slli a2, a4, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ li a7, 6 | |
+ lui a5, %hi(.LCPI17_1) | |
+ ld a5, %lo(.LCPI17_1)(a5) | |
mulw a2, a2, a7 | |
- subw a2, a3, a2 | |
- srli a3, a1, 1 | |
- mulhu a3, a3, a4 | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a1, a1, a3 | |
- srli a3, a5, 1 | |
- mulhu a3, a3, a4 | |
- lui a4, %hi(.LCPI17_1) | |
- ld a4, %lo(.LCPI17_1)(a4) | |
- srli a3, a3, 1 | |
- mulw a3, a3, a7 | |
- subw a3, a5, a3 | |
- mulhu a4, a6, a4 | |
- srli a4, a4, 2 | |
- li a5, 6 | |
- mulw a4, a4, a5 | |
- subw a4, a6, a4 | |
- sw a4, 12(a0) | |
- sw a3, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ subw a7, a4, a2 | |
+ srliw a4, a1, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ li a2, 14 | |
+ mulw a4, a4, a2 | |
+ subw a1, a1, a4 | |
+ srliw a4, a3, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a4, a4, a2 | |
+ subw a3, a3, a4 | |
+ srliw a4, a6, 1 | |
+ mulhu a4, a4, a5 | |
+ srli a4, a4, 1 | |
+ mulw a2, a4, a2 | |
+ subw a2, a6, a2 | |
+ sw a2, 8(a0) | |
+ sw a3, 4(a0) | |
+ sw a1, 0(a0) | |
+ sw a7, 12(a0) | |
ret | |
.Lfunc_end17: | |
.size ur1414146, .Lfunc_end17-ur1414146 | |
@@ -788,48 +806,56 @@ uq7777: # @uq7777 | |
.type ur7777,@function | |
ur7777: # @ur7777 | |
# %bb.0: # %entry | |
- lwu a2, 0(a1) | |
- lui a3, %hi(.LCPI21_0) | |
- ld a3, %lo(.LCPI21_0)(a3) | |
- lwu a6, 12(a1) | |
- lwu a7, 8(a1) | |
- lwu a1, 4(a1) | |
- mulhu a4, a2, a3 | |
- sub a5, a2, a4 | |
- srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a2, a2, a4 | |
- mulhu a4, a1, a3 | |
- sub a5, a1, a4 | |
+ lw a6, 12(a1) | |
+ lw a7, 8(a1) | |
+ slli a4, a6, 32 | |
+ lw t2, 4(a1) | |
+ srli t0, a4, 32 | |
+ slli a2, a7, 32 | |
+ srli t1, a2, 32 | |
+ slli a3, t2, 32 | |
+ lw a1, 0(a1) | |
+ lui a4, %hi(.LCPI21_0) | |
+ ld a4, %lo(.LCPI21_0)(a4) | |
+ srli a3, a3, 32 | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ mulhu a5, a2, a4 | |
+ sub a2, a2, a5 | |
+ srli a2, a2, 1 | |
+ add a2, a2, a5 | |
+ srli a2, a2, 2 | |
+ slliw a5, a2, 3 | |
+ subw a2, a2, a5 | |
+ addw a1, a1, a2 | |
+ mulhu a2, a3, a4 | |
+ sub a3, a3, a2 | |
+ srli a3, a3, 1 | |
+ add a2, a2, a3 | |
+ srli a2, a2, 2 | |
+ slliw a3, a2, 3 | |
+ subw a2, a2, a3 | |
+ addw a2, t2, a2 | |
+ mulhu a3, t1, a4 | |
+ sub a5, t1, a3 | |
srli a5, a5, 1 | |
- add a4, a4, a5 | |
- srli a4, a4, 2 | |
- slliw a5, a4, 3 | |
- subw a4, a4, a5 | |
- addw a1, a1, a4 | |
- mulhu a4, a7, a3 | |
- sub a5, a7, a4 | |
+ add a3, a3, a5 | |
+ srli a3, a3, 2 | |
+ slliw a5, a3, 3 | |
+ subw a3, a3, a5 | |
+ addw a3, a7, a3 | |
+ mulhu a4, t0, a4 | |
+ sub a5, t0, a4 | |
srli a5, a5, 1 | |
add a4, a4, a5 | |
srli a4, a4, 2 | |
slliw a5, a4, 3 | |
subw a4, a4, a5 | |
- addw a4, a7, a4 | |
- mulhu a3, a6, a3 | |
- sub a5, a6, a3 | |
- srli a5, a5, 1 | |
- add a3, a3, a5 | |
- srli a3, a3, 2 | |
- slliw a5, a3, 3 | |
- subw a3, a3, a5 | |
- addw a3, a6, a3 | |
- sw a3, 12(a0) | |
- sw a4, 8(a0) | |
- sw a1, 4(a0) | |
- sw a2, 0(a0) | |
+ addw a4, a6, a4 | |
+ sw a4, 12(a0) | |
+ sw a3, 8(a0) | |
+ sw a2, 4(a0) | |
+ sw a1, 0(a0) | |
ret | |
.Lfunc_end21: | |
.size ur7777, .Lfunc_end21-ur7777 | |
@@ -931,43 +957,37 @@ sr7777: # @sr7777 | |
.type main,@function | |
main: # @main | |
# %bb.0: # %entry | |
- addi sp, sp, -144 | |
- sd ra, 136(sp) # 8-byte Folded Spill | |
- sd s0, 128(sp) # 8-byte Folded Spill | |
- sd s1, 120(sp) # 8-byte Folded Spill | |
- sd s2, 112(sp) # 8-byte Folded Spill | |
- sd s3, 104(sp) # 8-byte Folded Spill | |
- sd s4, 96(sp) # 8-byte Folded Spill | |
- sd s5, 88(sp) # 8-byte Folded Spill | |
- sd s6, 80(sp) # 8-byte Folded Spill | |
- sd s7, 72(sp) # 8-byte Folded Spill | |
- sd s8, 64(sp) # 8-byte Folded Spill | |
- sd s9, 56(sp) # 8-byte Folded Spill | |
- sd s10, 48(sp) # 8-byte Folded Spill | |
- sd s11, 40(sp) # 8-byte Folded Spill | |
+ addi sp, sp, -128 | |
+ sd ra, 120(sp) # 8-byte Folded Spill | |
+ sd s0, 112(sp) # 8-byte Folded Spill | |
+ sd s1, 104(sp) # 8-byte Folded Spill | |
+ sd s2, 96(sp) # 8-byte Folded Spill | |
+ sd s3, 88(sp) # 8-byte Folded Spill | |
+ sd s4, 80(sp) # 8-byte Folded Spill | |
+ sd s5, 72(sp) # 8-byte Folded Spill | |
+ sd s6, 64(sp) # 8-byte Folded Spill | |
+ sd s7, 56(sp) # 8-byte Folded Spill | |
+ sd s8, 48(sp) # 8-byte Folded Spill | |
+ sd s9, 40(sp) # 8-byte Folded Spill | |
li a0, 0 | |
li s3, 1 | |
lui a1, %hi(u) | |
addi s2, a1, %lo(u) | |
- addi s1, sp, 16 | |
- lui a1, 171 | |
- addiw a1, a1, -1365 | |
- slli a1, a1, 12 | |
- addi s4, a1, -1365 | |
+ addi s4, sp, 16 | |
lui a1, 699051 | |
addiw a1, a1, -1365 | |
- slli s5, a1, 32 | |
+ slli s1, a1, 32 | |
lui a1, 838861 | |
addiw a1, a1, -819 | |
- slli s6, a1, 32 | |
- li s7, 6 | |
+ slli s5, a1, 32 | |
+ li s6, 6 | |
lui a1, 299593 | |
slli a1, a1, 1 | |
- addi s8, a1, 1171 | |
- li s9, 14 | |
+ addi s7, a1, 1171 | |
+ li s8, 14 | |
lui a1, 149797 | |
- addiw s10, a1, -1755 | |
- slli s11, s10, 32 | |
+ addiw a1, a1, -1755 | |
+ slli s9, a1, 32 | |
.LBB24_1: # %for.body | |
# =>This Inner Loop Header: Depth=1 | |
slli a0, a0, 4 | |
@@ -975,9 +995,9 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.2: # %lor.lhs.false | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -989,9 +1009,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 2 | |
+ srliw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
# %bb.4: # %lor.lhs.false19 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1006,7 +1026,7 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur4444 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1020,7 +1040,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1050,9 +1070,9 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
+ srliw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
# %bb.12: # %lor.lhs.false90 | |
# in Loop: Header=BB24_1 Depth=1 | |
@@ -1079,7 +1099,7 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
andi a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1096,9 +1116,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.18: # %lor.lhs.false145 | |
@@ -1106,16 +1127,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.19: # %if.end154 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.20: # %lor.lhs.false162 | |
@@ -1123,7 +1145,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 33 | |
bne a1, a0, .LBB24_101 | |
# %bb.21: # %if.end171 | |
@@ -1133,9 +1155,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur3333 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1146,7 +1169,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1156,9 +1179,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1169,7 +1193,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 33 | |
slliw a3, a2, 1 | |
addw a2, a2, a3 | |
@@ -1182,9 +1206,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.26: # %lor.lhs.false217 | |
@@ -1192,16 +1217,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.27: # %if.end226 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a0, a0, s4 | |
+ slli a0, a0, 32 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.28: # %lor.lhs.false234 | |
@@ -1209,7 +1235,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s6 | |
+ mulhu a0, a0, s5 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.29: # %if.end243 | |
@@ -1219,11 +1245,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur6565 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.30: # %lor.lhs.false253 | |
@@ -1231,7 +1258,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1241,11 +1268,12 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s4 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.32: # %lor.lhs.false270 | |
@@ -1253,7 +1281,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s6 | |
+ mulhu a2, a2, s5 | |
srli a2, a2, 34 | |
slliw a3, a2, 2 | |
addw a2, a2, a3 | |
@@ -1266,10 +1294,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.34: # %lor.lhs.false289 | |
@@ -1277,17 +1305,17 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a0, a0, 32 | |
- mulhu a0, a0, s5 | |
+ mulhu a0, a0, s1 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.35: # %if.end298 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a0, a0, 1 | |
- mul a0, a0, s8 | |
+ srliw a0, a0, 1 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.36: # %lor.lhs.false306 | |
@@ -1295,7 +1323,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a0, a0, 1 | |
- mul a0, a0, s8 | |
+ mul a0, a0, s7 | |
srli a0, a0, 34 | |
bne a1, a0, .LBB24_101 | |
# %bb.37: # %if.end315 | |
@@ -1305,12 +1333,12 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur1414146 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.38: # %lor.lhs.false325 | |
@@ -1318,21 +1346,21 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s5 | |
+ mulhu a2, a2, s1 | |
srli a2, a2, 34 | |
- mulw a2, a2, s7 | |
+ mulw a2, a2, s6 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.39: # %if.end334 | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- srli a2, a0, 1 | |
- mul a2, a2, s8 | |
+ srliw a2, a0, 1 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.40: # %lor.lhs.false342 | |
@@ -1340,9 +1368,9 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
srliw a2, a0, 1 | |
- mul a2, a2, s8 | |
+ mul a2, a2, s7 | |
srli a2, a2, 34 | |
- mulw a2, a2, s9 | |
+ mulw a2, a2, s8 | |
subw a0, a0, a2 | |
bne a1, a0, .LBB24_101 | |
# %bb.41: # %if.end351 | |
@@ -1352,9 +1380,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call uq7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1366,7 +1395,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1377,9 +1406,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1391,7 +1421,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a0, a0, a2 | |
srliw a0, a0, 1 | |
@@ -1405,9 +1435,10 @@ main: # @main | |
addi a0, sp, 16 | |
mv a1, s0 | |
call ur7777 | |
- lwu a0, 0(s0) | |
+ lw a0, 0(s0) | |
lw a1, 16(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1422,7 +1453,7 @@ main: # @main | |
lw a0, 12(s0) | |
lw a1, 28(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1436,9 +1467,10 @@ main: # @main | |
# in Loop: Header=BB24_1 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 24(sp) | |
- mul a2, a0, s10 | |
+ slli a2, a0, 32 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1453,7 +1485,7 @@ main: # @main | |
lw a0, 4(s0) | |
lw a1, 20(sp) | |
slli a2, a0, 32 | |
- mulhu a2, a2, s11 | |
+ mulhu a2, a2, s9 | |
srli a2, a2, 32 | |
subw a3, a0, a2 | |
srliw a3, a3, 1 | |
@@ -1505,8 +1537,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1525,8 +1557,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1549,8 +1581,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1571,8 +1603,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -1591,8 +1623,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 12(s0) | |
lw a1, 12(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 29 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 61 | |
addw a0, a0, a2 | |
sraiw a0, a0, 3 | |
bne a1, a0, .LBB24_101 | |
@@ -1600,9 +1632,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
addw a0, a0, a2 | |
sraiw a0, a0, 1 | |
bne a1, a0, .LBB24_101 | |
@@ -1610,8 +1642,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
addw a0, a0, a2 | |
sraiw a0, a0, 2 | |
bne a1, a0, .LBB24_101 | |
@@ -1638,9 +1670,9 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
#APP | |
#NO_APP | |
- lwu a0, 8(s0) | |
+ lw a0, 8(s0) | |
lw a1, 8(sp) | |
- srli a2, a0, 31 | |
+ srliw a2, a0, 31 | |
add a2, a2, a0 | |
andi a2, a2, -2 | |
subw a0, a0, a2 | |
@@ -1649,8 +1681,8 @@ main: # @main | |
# in Loop: Header=BB24_51 Depth=1 | |
lw a0, 4(s0) | |
lw a1, 4(sp) | |
- sraiw a2, a0, 31 | |
- srliw a2, a2, 30 | |
+ slli a2, a0, 1 | |
+ srli a2, a2, 62 | |
add a2, a2, a0 | |
andi a2, a2, -4 | |
subw a0, a0, a2 | |
@@ -2079,20 +2111,18 @@ main: # @main | |
bnez a1, .LBB24_51 | |
# %bb.100: # %for.end863 | |
li a0, 0 | |
- ld ra, 136(sp) # 8-byte Folded Reload | |
- ld s0, 128(sp) # 8-byte Folded Reload | |
- ld s1, 120(sp) # 8-byte Folded Reload | |
- ld s2, 112(sp) # 8-byte Folded Reload | |
- ld s3, 104(sp) # 8-byte Folded Reload | |
- ld s4, 96(sp) # 8-byte Folded Reload | |
- ld s5, 88(sp) # 8-byte Folded Reload | |
- ld s6, 80(sp) # 8-byte Folded Reload | |
- ld s7, 72(sp) # 8-byte Folded Reload | |
- ld s8, 64(sp) # 8-byte Folded Reload | |
- ld s9, 56(sp) # 8-byte Folded Reload | |
- ld s10, 48(sp) # 8-byte Folded Reload | |
- ld s11, 40(sp) # 8-byte Folded Reload | |
- addi sp, sp, 144 | |
+ ld ra, 120(sp) # 8-byte Folded Reload | |
+ ld s0, 112(sp) # 8-byte Folded Reload | |
+ ld s1, 104(sp) # 8-byte Folded Reload | |
+ ld s2, 96(sp) # 8-byte Folded Reload | |
+ ld s3, 88(sp) # 8-byte Folded Reload | |
+ ld s4, 80(sp) # 8-byte Folded Reload | |
+ ld s5, 72(sp) # 8-byte Folded Reload | |
+ ld s6, 64(sp) # 8-byte Folded Reload | |
+ ld s7, 56(sp) # 8-byte Folded Reload | |
+ ld s8, 48(sp) # 8-byte Folded Reload | |
+ ld s9, 40(sp) # 8-byte Folded Reload | |
+ addi sp, sp, 128 | |
ret | |
.LBB24_101: # %if.then | |
call abort | |
diff --git a/output_rv64imafdc_lp64d_Oz/20140622-1.s b/output_rv64imafdc_lp64d_Oz/20140622-1.s | |
index e33cce6bdf..6d20c13a92 100644 | |
--- a/output_rv64imafdc_lp64d_Oz/20140622-1.s | |
+++ b/output_rv64imafdc_lp64d_Oz/20140622-1.s | |
@@ -8,10 +8,12 @@ | |
test: # @test | |
# %bb.0: # %entry | |
lui a1, %hi(p) | |
- lwu a1, %lo(p)(a1) | |
+ lw a1, %lo(p)(a1) | |
addw a0, a0, a1 | |
slli a0, a0, 32 | |
srli a0, a0, 32 | |
+ slli a1, a1, 32 | |
+ srli a1, a1, 32 | |
sub a0, a0, a1 | |
ret | |
.Lfunc_end0: | |
diff --git a/output_rv64imafdc_lp64d_Oz/pr22061-1.s b/output_rv64imafdc_lp64d_Oz/pr22061-1.s | |
index 141bfd37a9..277b8f7983 100644 | |
--- a/output_rv64imafdc_lp64d_Oz/pr22061-1.s | |
+++ b/output_rv64imafdc_lp64d_Oz/pr22061-1.s | |
@@ -17,8 +17,10 @@ foo: # @foo | |
bar: # @bar | |
# %bb.0: # %entry | |
lui a1, %hi(N) | |
- lwu a1, %lo(N)(a1) | |
- add a0, a0, a1 | |
+ lw a1, %lo(N)(a1) | |
+ slli a2, a1, 32 | |
+ srli a2, a2, 32 | |
+ add a0, a0, a2 | |
sb a1, 0(a0) | |
ret | |
.Lfunc_end1: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment