@@ -1082,6 +1082,68 @@ entry:
1082
1082
ret ptr getelementptr inbounds ([1 x i64 ], ptr @g_a64 , i64 268432897 )
1083
1083
}
1084
1084
1085
+ define dso_local ptr @load_addr_offset_281474439839744 () nounwind {
1086
+ ; LA32-LABEL: load_addr_offset_281474439839744:
1087
+ ; LA32: # %bb.0: # %entry
1088
+ ; LA32-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1089
+ ; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(g_a64)
1090
+ ; LA32-NEXT: ret
1091
+ ;
1092
+ ; LA64-LABEL: load_addr_offset_281474439839744:
1093
+ ; LA64: # %bb.0: # %entry
1094
+ ; LA64-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1095
+ ; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(g_a64)
1096
+ ; LA64-NEXT: ori $a1, $zero, 0
1097
+ ; LA64-NEXT: lu32i.d $a1, 524287
1098
+ ; LA64-NEXT: add.d $a0, $a0, $a1
1099
+ ; LA64-NEXT: ret
1100
+ ;
1101
+ ; LA64-LARGE-LABEL: load_addr_offset_281474439839744:
1102
+ ; LA64-LARGE: # %bb.0: # %entry
1103
+ ; LA64-LARGE-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1104
+ ; LA64-LARGE-NEXT: addi.d $a1, $zero, %pc_lo12(g_a64)
1105
+ ; LA64-LARGE-NEXT: lu32i.d $a1, %pc64_lo20(g_a64)
1106
+ ; LA64-LARGE-NEXT: lu52i.d $a1, $a1, %pc64_hi12(g_a64)
1107
+ ; LA64-LARGE-NEXT: add.d $a0, $a1, $a0
1108
+ ; LA64-LARGE-NEXT: ori $a1, $zero, 0
1109
+ ; LA64-LARGE-NEXT: lu32i.d $a1, 524287
1110
+ ; LA64-LARGE-NEXT: add.d $a0, $a0, $a1
1111
+ ; LA64-LARGE-NEXT: ret
1112
+ entry:
1113
+ ret ptr getelementptr inbounds ([1 x i64 ], ptr @g_a64 , i64 281474439839744 )
1114
+ }
1115
+
1116
+ define dso_local ptr @load_addr_offset_248792680471040 () nounwind {
1117
+ ; LA32-LABEL: load_addr_offset_248792680471040:
1118
+ ; LA32: # %bb.0: # %entry
1119
+ ; LA32-NEXT: pcalau12i $a0, %pc_hi20(g_a64+2059194368)
1120
+ ; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(g_a64+2059194368)
1121
+ ; LA32-NEXT: ret
1122
+ ;
1123
+ ; LA64-LABEL: load_addr_offset_248792680471040:
1124
+ ; LA64: # %bb.0: # %entry
1125
+ ; LA64-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1126
+ ; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(g_a64)
1127
+ ; LA64-NEXT: lu12i.w $a1, 502733
1128
+ ; LA64-NEXT: lu32i.d $a1, 463412
1129
+ ; LA64-NEXT: add.d $a0, $a0, $a1
1130
+ ; LA64-NEXT: ret
1131
+ ;
1132
+ ; LA64-LARGE-LABEL: load_addr_offset_248792680471040:
1133
+ ; LA64-LARGE: # %bb.0: # %entry
1134
+ ; LA64-LARGE-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1135
+ ; LA64-LARGE-NEXT: addi.d $a1, $zero, %pc_lo12(g_a64)
1136
+ ; LA64-LARGE-NEXT: lu32i.d $a1, %pc64_lo20(g_a64)
1137
+ ; LA64-LARGE-NEXT: lu52i.d $a1, $a1, %pc64_hi12(g_a64)
1138
+ ; LA64-LARGE-NEXT: add.d $a0, $a1, $a0
1139
+ ; LA64-LARGE-NEXT: lu12i.w $a1, 502733
1140
+ ; LA64-LARGE-NEXT: lu32i.d $a1, 463412
1141
+ ; LA64-LARGE-NEXT: add.d $a0, $a0, $a1
1142
+ ; LA64-LARGE-NEXT: ret
1143
+ entry:
1144
+ ret ptr getelementptr inbounds ([1 x i64 ], ptr @g_a64 , i64 248792680471040 )
1145
+ }
1146
+
1085
1147
define dso_local ptr @load_addr_offset_9380351707272 () nounwind {
1086
1148
; LA32-LABEL: load_addr_offset_9380351707272:
1087
1149
; LA32: # %bb.0: # %entry
@@ -1115,35 +1177,66 @@ entry:
1115
1177
ret ptr getelementptr inbounds ([1 x i64 ], ptr @g_a64 , i64 9380351707272 )
1116
1178
}
1117
1179
1118
- define dso_local ptr @load_addr_offset_614750729487779976 () nounwind {
1119
- ; LA32-LABEL: load_addr_offset_614750729487779976 :
1180
+ define dso_local ptr @load_addr_offset_562949953421312 () nounwind {
1181
+ ; LA32-LABEL: load_addr_offset_562949953421312 :
1120
1182
; LA32: # %bb.0: # %entry
1121
- ; LA32-NEXT: pcalau12i $a0, %pc_hi20(g_a64+1145062464 )
1122
- ; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(g_a64+1145062464 )
1183
+ ; LA32-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1184
+ ; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(g_a64)
1123
1185
; LA32-NEXT: ret
1124
1186
;
1125
- ; LA64-LABEL: load_addr_offset_614750729487779976 :
1187
+ ; LA64-LABEL: load_addr_offset_562949953421312 :
1126
1188
; LA64: # %bb.0: # %entry
1127
1189
; LA64-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1128
1190
; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(g_a64)
1129
- ; LA64-NEXT: lu12i.w $a1, 279556
1130
- ; LA64-NEXT: ori $a1, $a1, 1088
1131
- ; LA64-NEXT: bstrins.d $a1, $a1, 62, 32
1191
+ ; LA64-NEXT: lu52i.d $a1, $zero, 1
1132
1192
; LA64-NEXT: add.d $a0, $a0, $a1
1133
1193
; LA64-NEXT: ret
1134
1194
;
1135
- ; LA64-LARGE-LABEL: load_addr_offset_614750729487779976 :
1195
+ ; LA64-LARGE-LABEL: load_addr_offset_562949953421312 :
1136
1196
; LA64-LARGE: # %bb.0: # %entry
1137
1197
; LA64-LARGE-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1138
1198
; LA64-LARGE-NEXT: addi.d $a1, $zero, %pc_lo12(g_a64)
1139
1199
; LA64-LARGE-NEXT: lu32i.d $a1, %pc64_lo20(g_a64)
1140
1200
; LA64-LARGE-NEXT: lu52i.d $a1, $a1, %pc64_hi12(g_a64)
1141
1201
; LA64-LARGE-NEXT: add.d $a0, $a1, $a0
1142
- ; LA64-LARGE-NEXT: lu12i.w $a1, 279556
1143
- ; LA64-LARGE-NEXT: ori $a1, $a1, 1088
1144
- ; LA64-LARGE-NEXT: bstrins.d $a1, $a1, 62, 32
1202
+ ; LA64-LARGE-NEXT: lu52i.d $a1, $zero, 1
1203
+ ; LA64-LARGE-NEXT: add.d $a0, $a0, $a1
1204
+ ; LA64-LARGE-NEXT: ret
1205
+ entry:
1206
+ ret ptr getelementptr inbounds ([1 x i64 ], ptr @g_a64 , i64 562949953421312 )
1207
+ }
1208
+
1209
+ define dso_local ptr @load_addr_offset_614749556925924693 () nounwind {
1210
+ ; LA32-LABEL: load_addr_offset_614749556925924693:
1211
+ ; LA32: # %bb.0: # %entry
1212
+ ; LA32-NEXT: pcalau12i $a0, %pc_hi20(g_a64+858794664)
1213
+ ; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(g_a64+858794664)
1214
+ ; LA32-NEXT: ret
1215
+ ;
1216
+ ; LA64-LABEL: load_addr_offset_614749556925924693:
1217
+ ; LA64: # %bb.0: # %entry
1218
+ ; LA64-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1219
+ ; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(g_a64)
1220
+ ; LA64-NEXT: lu12i.w $a1, 209666
1221
+ ; LA64-NEXT: ori $a1, $a1, 2728
1222
+ ; LA64-NEXT: lu32i.d $a1, 15288
1223
+ ; LA64-NEXT: lu52i.d $a1, $a1, 1092
1224
+ ; LA64-NEXT: add.d $a0, $a0, $a1
1225
+ ; LA64-NEXT: ret
1226
+ ;
1227
+ ; LA64-LARGE-LABEL: load_addr_offset_614749556925924693:
1228
+ ; LA64-LARGE: # %bb.0: # %entry
1229
+ ; LA64-LARGE-NEXT: pcalau12i $a0, %pc_hi20(g_a64)
1230
+ ; LA64-LARGE-NEXT: addi.d $a1, $zero, %pc_lo12(g_a64)
1231
+ ; LA64-LARGE-NEXT: lu32i.d $a1, %pc64_lo20(g_a64)
1232
+ ; LA64-LARGE-NEXT: lu52i.d $a1, $a1, %pc64_hi12(g_a64)
1233
+ ; LA64-LARGE-NEXT: add.d $a0, $a1, $a0
1234
+ ; LA64-LARGE-NEXT: lu12i.w $a1, 209666
1235
+ ; LA64-LARGE-NEXT: ori $a1, $a1, 2728
1236
+ ; LA64-LARGE-NEXT: lu32i.d $a1, 15288
1237
+ ; LA64-LARGE-NEXT: lu52i.d $a1, $a1, 1092
1145
1238
; LA64-LARGE-NEXT: add.d $a0, $a0, $a1
1146
1239
; LA64-LARGE-NEXT: ret
1147
1240
entry:
1148
- ret ptr getelementptr inbounds ([1 x i64 ], ptr @g_a64 , i64 614750729487779976 )
1241
+ ret ptr getelementptr inbounds ([1 x i64 ], ptr @g_a64 , i64 614749556925924693 )
1149
1242
}
0 commit comments