Skip to content

Instantly share code, notes, and snippets.

@asb
Created August 3, 2022 05:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save asb/88ec8c5b0c18528f3e571cc90c5d7a19 to your computer and use it in GitHub Desktop.
Save asb/88ec8c5b0c18528f3e571cc90c5d7a19 to your computer and use it in GitHub Desktop.
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