@@ -1935,32 +1935,29 @@ define i32 @AtomicCmpSwap32(i32 signext %oldval, i32 signext %newval) nounwind {
1935
1935
; MIPS32O0: # %bb.0: # %entry
1936
1936
; MIPS32O0-NEXT: lui $2, %hi(_gp_disp)
1937
1937
; MIPS32O0-NEXT: addiu $2, $2, %lo(_gp_disp)
1938
- ; MIPS32O0-NEXT: addiu $sp, $sp, -16
1938
+ ; MIPS32O0-NEXT: addiu $sp, $sp, -8
1939
1939
; MIPS32O0-NEXT: addu $1, $2, $25
1940
- ; MIPS32O0-NEXT: sw $5, 12 ($sp)
1941
- ; MIPS32O0-NEXT: lw $2, 12 ($sp)
1940
+ ; MIPS32O0-NEXT: sw $5, 4 ($sp)
1941
+ ; MIPS32O0-NEXT: lw $2, 4 ($sp)
1942
1942
; MIPS32O0-NEXT: lw $1, %got(x)($1)
1943
- ; MIPS32O0-NEXT: lw $3, 8($sp) # 4-byte Folded Reload
1944
- ; MIPS32O0-NEXT: move $5, $4
1943
+ ; MIPS32O0-NEXT: move $3, $4
1945
1944
; MIPS32O0-NEXT: $BB7_1: # %entry
1946
1945
; MIPS32O0-NEXT: # =>This Inner Loop Header: Depth=1
1947
- ; MIPS32O0-NEXT: ll $6 , 0($1)
1948
- ; MIPS32O0-NEXT: bne $6 , $5 , $BB7_3
1946
+ ; MIPS32O0-NEXT: ll $5 , 0($1)
1947
+ ; MIPS32O0-NEXT: bne $5 , $3 , $BB7_3
1949
1948
; MIPS32O0-NEXT: nop
1950
1949
; MIPS32O0-NEXT: # %bb.2: # %entry
1951
1950
; MIPS32O0-NEXT: # in Loop: Header=BB7_1 Depth=1
1952
- ; MIPS32O0-NEXT: move $7 , $2
1953
- ; MIPS32O0-NEXT: sc $7 , 0($1)
1954
- ; MIPS32O0-NEXT: beqz $7 , $BB7_1
1951
+ ; MIPS32O0-NEXT: move $6 , $2
1952
+ ; MIPS32O0-NEXT: sc $6 , 0($1)
1953
+ ; MIPS32O0-NEXT: beqz $6 , $BB7_1
1955
1954
; MIPS32O0-NEXT: nop
1956
1955
; MIPS32O0-NEXT: $BB7_3: # %entry
1957
- ; MIPS32O0-NEXT: xor $1, $6 , $4
1956
+ ; MIPS32O0-NEXT: xor $1, $5 , $4
1958
1957
; MIPS32O0-NEXT: sltiu $1, $1, 1
1959
- ; MIPS32O0-NEXT: move $2, $6
1960
- ; MIPS32O0-NEXT: sw $6, 8($sp) # 4-byte Folded Spill
1961
- ; MIPS32O0-NEXT: sw $3, 4($sp) # 4-byte Folded Spill
1958
+ ; MIPS32O0-NEXT: move $2, $5
1962
1959
; MIPS32O0-NEXT: sw $1, 0($sp) # 4-byte Folded Spill
1963
- ; MIPS32O0-NEXT: addiu $sp, $sp, 16
1960
+ ; MIPS32O0-NEXT: addiu $sp, $sp, 8
1964
1961
; MIPS32O0-NEXT: jr $ra
1965
1962
; MIPS32O0-NEXT: nop
1966
1963
;
@@ -2013,30 +2010,27 @@ define i32 @AtomicCmpSwap32(i32 signext %oldval, i32 signext %newval) nounwind {
2013
2010
; MIPS32R6O0: # %bb.0: # %entry
2014
2011
; MIPS32R6O0-NEXT: lui $2, %hi(_gp_disp)
2015
2012
; MIPS32R6O0-NEXT: addiu $2, $2, %lo(_gp_disp)
2016
- ; MIPS32R6O0-NEXT: addiu $sp, $sp, -24
2013
+ ; MIPS32R6O0-NEXT: addiu $sp, $sp, -16
2017
2014
; MIPS32R6O0-NEXT: addu $1, $2, $25
2018
2015
; MIPS32R6O0-NEXT: move $2, $5
2019
2016
; MIPS32R6O0-NEXT: move $3, $4
2020
- ; MIPS32R6O0-NEXT: sw $5, 20 ($sp)
2021
- ; MIPS32R6O0-NEXT: lw $5, 20 ($sp)
2017
+ ; MIPS32R6O0-NEXT: sw $5, 12 ($sp)
2018
+ ; MIPS32R6O0-NEXT: lw $5, 12 ($sp)
2022
2019
; MIPS32R6O0-NEXT: lw $1, %got(x)($1)
2023
- ; MIPS32R6O0-NEXT: lw $6, 16($sp) # 4-byte Folded Reload
2024
2020
; MIPS32R6O0-NEXT: $BB7_1: # %entry
2025
2021
; MIPS32R6O0-NEXT: # =>This Inner Loop Header: Depth=1
2026
- ; MIPS32R6O0-NEXT: ll $7 , 0($1)
2027
- ; MIPS32R6O0-NEXT: bnec $7 , $4, $BB7_3
2022
+ ; MIPS32R6O0-NEXT: ll $6 , 0($1)
2023
+ ; MIPS32R6O0-NEXT: bnec $6 , $4, $BB7_3
2028
2024
; MIPS32R6O0-NEXT: # %bb.2: # %entry
2029
2025
; MIPS32R6O0-NEXT: # in Loop: Header=BB7_1 Depth=1
2030
- ; MIPS32R6O0-NEXT: move $8 , $5
2031
- ; MIPS32R6O0-NEXT: sc $8 , 0($1)
2032
- ; MIPS32R6O0-NEXT: beqzc $8 , $BB7_1
2026
+ ; MIPS32R6O0-NEXT: move $7 , $5
2027
+ ; MIPS32R6O0-NEXT: sc $7 , 0($1)
2028
+ ; MIPS32R6O0-NEXT: beqzc $7 , $BB7_1
2033
2029
; MIPS32R6O0-NEXT: $BB7_3: # %entry
2034
- ; MIPS32R6O0-NEXT: sw $2, 12($sp) # 4-byte Folded Spill
2035
- ; MIPS32R6O0-NEXT: move $2, $7
2036
- ; MIPS32R6O0-NEXT: sw $3, 8($sp) # 4-byte Folded Spill
2037
- ; MIPS32R6O0-NEXT: sw $7, 16($sp) # 4-byte Folded Spill
2038
- ; MIPS32R6O0-NEXT: sw $6, 4($sp) # 4-byte Folded Spill
2039
- ; MIPS32R6O0-NEXT: addiu $sp, $sp, 24
2030
+ ; MIPS32R6O0-NEXT: sw $2, 8($sp) # 4-byte Folded Spill
2031
+ ; MIPS32R6O0-NEXT: move $2, $6
2032
+ ; MIPS32R6O0-NEXT: sw $3, 4($sp) # 4-byte Folded Spill
2033
+ ; MIPS32R6O0-NEXT: addiu $sp, $sp, 16
2040
2034
; MIPS32R6O0-NEXT: jrc $ra
2041
2035
;
2042
2036
; MIPS4-LABEL: AtomicCmpSwap32:
@@ -2141,20 +2135,17 @@ define i32 @AtomicCmpSwap32(i32 signext %oldval, i32 signext %newval) nounwind {
2141
2135
; MIPS64R6O0-NEXT: sw $3, 12($sp)
2142
2136
; MIPS64R6O0-NEXT: lw $3, 12($sp)
2143
2137
; MIPS64R6O0-NEXT: ld $1, %got_disp(x)($1)
2144
- ; MIPS64R6O0-NEXT: lw $6, 8($sp) # 4-byte Folded Reload
2145
2138
; MIPS64R6O0-NEXT: .LBB7_1: # %entry
2146
2139
; MIPS64R6O0-NEXT: # =>This Inner Loop Header: Depth=1
2147
- ; MIPS64R6O0-NEXT: ll $7 , 0($1)
2148
- ; MIPS64R6O0-NEXT: bnec $7 , $2, .LBB7_3
2140
+ ; MIPS64R6O0-NEXT: ll $6 , 0($1)
2141
+ ; MIPS64R6O0-NEXT: bnec $6 , $2, .LBB7_3
2149
2142
; MIPS64R6O0-NEXT: # %bb.2: # %entry
2150
2143
; MIPS64R6O0-NEXT: # in Loop: Header=BB7_1 Depth=1
2151
- ; MIPS64R6O0-NEXT: move $8 , $3
2152
- ; MIPS64R6O0-NEXT: sc $8 , 0($1)
2153
- ; MIPS64R6O0-NEXT: beqzc $8 , .LBB7_1
2144
+ ; MIPS64R6O0-NEXT: move $7 , $3
2145
+ ; MIPS64R6O0-NEXT: sc $7 , 0($1)
2146
+ ; MIPS64R6O0-NEXT: beqzc $7 , .LBB7_1
2154
2147
; MIPS64R6O0-NEXT: .LBB7_3: # %entry
2155
- ; MIPS64R6O0-NEXT: move $2, $7
2156
- ; MIPS64R6O0-NEXT: sw $7, 8($sp) # 4-byte Folded Spill
2157
- ; MIPS64R6O0-NEXT: sw $6, 4($sp) # 4-byte Folded Spill
2148
+ ; MIPS64R6O0-NEXT: move $2, $6
2158
2149
; MIPS64R6O0-NEXT: daddiu $sp, $sp, 16
2159
2150
; MIPS64R6O0-NEXT: jrc $ra
2160
2151
;
@@ -6982,37 +6973,34 @@ define i32 @zeroreg() nounwind {
6982
6973
; MIPS32O0: # %bb.0: # %entry
6983
6974
; MIPS32O0-NEXT: lui $2, %hi(_gp_disp)
6984
6975
; MIPS32O0-NEXT: addiu $2, $2, %lo(_gp_disp)
6985
- ; MIPS32O0-NEXT: addiu $sp, $sp, -16
6976
+ ; MIPS32O0-NEXT: addiu $sp, $sp, -8
6986
6977
; MIPS32O0-NEXT: addu $1, $2, $25
6987
6978
; MIPS32O0-NEXT: sync
6988
6979
; MIPS32O0-NEXT: lw $1, %got(a)($1)
6989
6980
; MIPS32O0-NEXT: addiu $2, $zero, 0
6990
6981
; MIPS32O0-NEXT: addiu $3, $zero, 1
6991
- ; MIPS32O0-NEXT: lw $4, 12($sp) # 4-byte Folded Reload
6992
- ; MIPS32O0-NEXT: move $5, $3
6982
+ ; MIPS32O0-NEXT: move $4, $3
6993
6983
; MIPS32O0-NEXT: $BB17_1: # %entry
6994
6984
; MIPS32O0-NEXT: # =>This Inner Loop Header: Depth=1
6995
- ; MIPS32O0-NEXT: ll $6 , 0($1)
6996
- ; MIPS32O0-NEXT: bne $6 , $5 , $BB17_3
6985
+ ; MIPS32O0-NEXT: ll $5 , 0($1)
6986
+ ; MIPS32O0-NEXT: bne $5 , $4 , $BB17_3
6997
6987
; MIPS32O0-NEXT: nop
6998
6988
; MIPS32O0-NEXT: # %bb.2: # %entry
6999
6989
; MIPS32O0-NEXT: # in Loop: Header=BB17_1 Depth=1
7000
- ; MIPS32O0-NEXT: move $7 , $2
7001
- ; MIPS32O0-NEXT: sc $7 , 0($1)
7002
- ; MIPS32O0-NEXT: beqz $7 , $BB17_1
6990
+ ; MIPS32O0-NEXT: move $6 , $2
6991
+ ; MIPS32O0-NEXT: sc $6 , 0($1)
6992
+ ; MIPS32O0-NEXT: beqz $6 , $BB17_1
7003
6993
; MIPS32O0-NEXT: nop
7004
6994
; MIPS32O0-NEXT: $BB17_3: # %entry
7005
- ; MIPS32O0-NEXT: xor $1, $6 , $3
6995
+ ; MIPS32O0-NEXT: xor $1, $5 , $3
7006
6996
; MIPS32O0-NEXT: sltiu $1, $1, 1
7007
6997
; MIPS32O0-NEXT: sync
7008
6998
; MIPS32O0-NEXT: addiu $2, $zero, 1
7009
- ; MIPS32O0-NEXT: xor $2, $6 , $2
6999
+ ; MIPS32O0-NEXT: xor $2, $5 , $2
7010
7000
; MIPS32O0-NEXT: sltiu $2, $2, 1
7011
7001
; MIPS32O0-NEXT: andi $2, $2, 1
7012
- ; MIPS32O0-NEXT: sw $6, 12($sp) # 4-byte Folded Spill
7013
- ; MIPS32O0-NEXT: sw $4, 8($sp) # 4-byte Folded Spill
7014
7002
; MIPS32O0-NEXT: sw $1, 4($sp) # 4-byte Folded Spill
7015
- ; MIPS32O0-NEXT: addiu $sp, $sp, 16
7003
+ ; MIPS32O0-NEXT: addiu $sp, $sp, 8
7016
7004
; MIPS32O0-NEXT: jr $ra
7017
7005
; MIPS32O0-NEXT: nop
7018
7006
;
@@ -7071,30 +7059,25 @@ define i32 @zeroreg() nounwind {
7071
7059
; MIPS32R6O0: # %bb.0: # %entry
7072
7060
; MIPS32R6O0-NEXT: lui $2, %hi(_gp_disp)
7073
7061
; MIPS32R6O0-NEXT: addiu $2, $2, %lo(_gp_disp)
7074
- ; MIPS32R6O0-NEXT: addiu $sp, $sp, -8
7075
7062
; MIPS32R6O0-NEXT: addu $1, $2, $25
7076
7063
; MIPS32R6O0-NEXT: sync
7077
7064
; MIPS32R6O0-NEXT: lw $1, %got(a)($1)
7078
7065
; MIPS32R6O0-NEXT: addiu $2, $zero, 0
7079
7066
; MIPS32R6O0-NEXT: addiu $3, $zero, 1
7080
- ; MIPS32R6O0-NEXT: lw $4, 4($sp) # 4-byte Folded Reload
7081
- ; MIPS32R6O0-NEXT: move $5, $3
7067
+ ; MIPS32R6O0-NEXT: move $4, $3
7082
7068
; MIPS32R6O0-NEXT: $BB17_1: # %entry
7083
7069
; MIPS32R6O0-NEXT: # =>This Inner Loop Header: Depth=1
7084
- ; MIPS32R6O0-NEXT: ll $6 , 0($1)
7085
- ; MIPS32R6O0-NEXT: bnec $6 , $5 , $BB17_3
7070
+ ; MIPS32R6O0-NEXT: ll $5 , 0($1)
7071
+ ; MIPS32R6O0-NEXT: bnec $5 , $4 , $BB17_3
7086
7072
; MIPS32R6O0-NEXT: # %bb.2: # %entry
7087
7073
; MIPS32R6O0-NEXT: # in Loop: Header=BB17_1 Depth=1
7088
- ; MIPS32R6O0-NEXT: move $7 , $2
7089
- ; MIPS32R6O0-NEXT: sc $7 , 0($1)
7090
- ; MIPS32R6O0-NEXT: beqzc $7 , $BB17_1
7074
+ ; MIPS32R6O0-NEXT: move $6 , $2
7075
+ ; MIPS32R6O0-NEXT: sc $6 , 0($1)
7076
+ ; MIPS32R6O0-NEXT: beqzc $6 , $BB17_1
7091
7077
; MIPS32R6O0-NEXT: $BB17_3: # %entry
7092
- ; MIPS32R6O0-NEXT: xor $1, $6 , $3
7078
+ ; MIPS32R6O0-NEXT: xor $1, $5 , $3
7093
7079
; MIPS32R6O0-NEXT: sltiu $2, $1, 1
7094
7080
; MIPS32R6O0-NEXT: sync
7095
- ; MIPS32R6O0-NEXT: sw $6, 4($sp) # 4-byte Folded Spill
7096
- ; MIPS32R6O0-NEXT: sw $4, 0($sp) # 4-byte Folded Spill
7097
- ; MIPS32R6O0-NEXT: addiu $sp, $sp, 8
7098
7081
; MIPS32R6O0-NEXT: jrc $ra
7099
7082
;
7100
7083
; MIPS4-LABEL: zeroreg:
@@ -7204,32 +7187,27 @@ define i32 @zeroreg() nounwind {
7204
7187
;
7205
7188
; MIPS64R6O0-LABEL: zeroreg:
7206
7189
; MIPS64R6O0: # %bb.0: # %entry
7207
- ; MIPS64R6O0-NEXT: daddiu $sp, $sp, -16
7208
7190
; MIPS64R6O0-NEXT: lui $1, %hi(%neg(%gp_rel(zeroreg)))
7209
7191
; MIPS64R6O0-NEXT: daddu $1, $1, $25
7210
7192
; MIPS64R6O0-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(zeroreg)))
7211
7193
; MIPS64R6O0-NEXT: sync
7212
7194
; MIPS64R6O0-NEXT: ld $1, %got_disp(a)($1)
7213
7195
; MIPS64R6O0-NEXT: addiu $2, $zero, 0
7214
7196
; MIPS64R6O0-NEXT: addiu $3, $zero, 1
7215
- ; MIPS64R6O0-NEXT: lw $4, 12($sp) # 4-byte Folded Reload
7216
- ; MIPS64R6O0-NEXT: move $5, $3
7197
+ ; MIPS64R6O0-NEXT: move $4, $3
7217
7198
; MIPS64R6O0-NEXT: .LBB17_1: # %entry
7218
7199
; MIPS64R6O0-NEXT: # =>This Inner Loop Header: Depth=1
7219
- ; MIPS64R6O0-NEXT: ll $6 , 0($1)
7220
- ; MIPS64R6O0-NEXT: bnec $6 , $5 , .LBB17_3
7200
+ ; MIPS64R6O0-NEXT: ll $5 , 0($1)
7201
+ ; MIPS64R6O0-NEXT: bnec $5 , $4 , .LBB17_3
7221
7202
; MIPS64R6O0-NEXT: # %bb.2: # %entry
7222
7203
; MIPS64R6O0-NEXT: # in Loop: Header=BB17_1 Depth=1
7223
- ; MIPS64R6O0-NEXT: move $7 , $2
7224
- ; MIPS64R6O0-NEXT: sc $7 , 0($1)
7225
- ; MIPS64R6O0-NEXT: beqzc $7 , .LBB17_1
7204
+ ; MIPS64R6O0-NEXT: move $6 , $2
7205
+ ; MIPS64R6O0-NEXT: sc $6 , 0($1)
7206
+ ; MIPS64R6O0-NEXT: beqzc $6 , .LBB17_1
7226
7207
; MIPS64R6O0-NEXT: .LBB17_3: # %entry
7227
- ; MIPS64R6O0-NEXT: xor $2, $6 , $3
7208
+ ; MIPS64R6O0-NEXT: xor $2, $5 , $3
7228
7209
; MIPS64R6O0-NEXT: sltiu $2, $2, 1
7229
7210
; MIPS64R6O0-NEXT: sync
7230
- ; MIPS64R6O0-NEXT: sw $6, 12($sp) # 4-byte Folded Spill
7231
- ; MIPS64R6O0-NEXT: sw $4, 8($sp) # 4-byte Folded Spill
7232
- ; MIPS64R6O0-NEXT: daddiu $sp, $sp, 16
7233
7211
; MIPS64R6O0-NEXT: jrc $ra
7234
7212
;
7235
7213
; MM32-LABEL: zeroreg:
0 commit comments