Skip to content

Commit e00a38c

Browse files
benshi001cherrymui
authored andcommitted
cmd/internal/obj/arm: fix setting U bit in shifted register offset of MOVBS
"MOVBS.U R0<<0(R1), R2" is assembled to 0xe19120d0 (ldrsb r2, [r1, r0]), but it is expected to be 0xe11120d0 (ldrsb r2, [r1, -r0]). This patch fixes it and adds more encoding tests. fixes golang#20701 Change-Id: Ic1fb46438d71a978dbef06d97494a70c95fcbf3a Reviewed-on: https://go-review.googlesource.com/45996 Run-TryBot: Cherry Zhang <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Cherry Zhang <[email protected]>
1 parent 856fd8f commit e00a38c

4 files changed

Lines changed: 398 additions & 7 deletions

File tree

src/cmd/asm/internal/asm/testdata/arm.s

Lines changed: 276 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,6 @@ jmp_label_3:
11441144
MOVM.IB.W (g), [R0-R4,R6,R8,R9-R11] // MOVM.P.W.U (g), [R0,R1,R2,R3,R4,R6,R8,R9,g,R11] // 5f0fbae9
11451145

11461146
// MOVW
1147-
mov_label_0:
11481147
MOVW R3, R4 // 0340a0e1
11491148
MOVW R9, R2 // 0920a0e1
11501149
MOVW $0xff, R9 // MOVW $255, R9 // ff90a0e3
@@ -1153,7 +1152,6 @@ mov_label_0:
11531152
MOVW $-0xff(R0), R1 // MOVW $-255(R0), R1 // ff1040e2
11541153
MOVW $0xffffffae, R1 // MOVW $4294967214, R1 // 5110e0e3
11551154
MOVW $0xaaaaaaaa, R1 // MOVW $2863311530, R1
1156-
MOVW $mov_label_0(SB), R2
11571155
MOVW R1, (R2) // 001082e5
11581156
MOVW.P R1, (R2) // 001082e4
11591157
MOVW.W R1, (R2) // 0010a2e5
@@ -1163,7 +1161,6 @@ mov_label_0:
11631161
MOVW R1, -0x20(R2) // MOVW R1, -32(R2) // 201002e5
11641162
MOVW.P R1, -0x20(R2) // MOVW.P R1, -32(R2) // 201002e4
11651163
MOVW.W R1, -0x20(R2) // MOVW.W R1, -32(R2) // 201022e5
1166-
MOVW R1, mov_label_0(SB)
11671164
MOVW (R2), R1 // 001092e5
11681165
MOVW.P (R2), R1 // 001092e4
11691166
MOVW.W (R2), R1 // 0010b2e5
@@ -1173,11 +1170,8 @@ mov_label_0:
11731170
MOVW -0x20(R2), R1 // MOVW -32(R2), R1 // 201012e5
11741171
MOVW.P -0x20(R2), R1 // MOVW.P -32(R2), R1 // 201012e4
11751172
MOVW.W -0x20(R2), R1 // MOVW.W -32(R2), R1 // 201032e5
1176-
MOVW mov_label_0(SB), R1
11771173
MOVW R1, 0x00ffffff(R2) // MOVW R1, 16777215(R2)
1178-
MOVW R1, foo(SB)
11791174
MOVW 0x00ffffff(R2), R1 // MOVW 16777215(R2), R1
1180-
MOVW foo(SB), R1
11811175
MOVW CPSR, R1 // 00100fe1
11821176
MOVW R1, CPSR // 01f02ce1
11831177
MOVW $0xff, CPSR // MOVW $255, CPSR // fff02ce3
@@ -1221,6 +1215,282 @@ mov_label_0:
12211215
MOVW R0, math·Exp(SB) // MOVW R0, math.Exp(SB)
12221216
MOVW math·Exp(SB), R0 // MOVW math.Exp(SB), R0
12231217

1218+
// MOVB
1219+
MOVB R3, R4 // 0340a0e1
1220+
MOVB R9, R2 // 0920a0e1
1221+
MOVBU R0, R1 // ff1000e2
1222+
MOVBS R5, R6 // 056ca0e1466ca0e1
1223+
MOVB R1, (R2) // 0010c2e5
1224+
MOVB.P R1, (R2) // 0010c2e4
1225+
MOVB.W R1, (R2) // 0010e2e5
1226+
MOVB R1, 0x20(R2) // MOVB R1, 32(R2) // 2010c2e5
1227+
MOVB.P R1, 0x20(R2) // MOVB.P R1, 32(R2) // 2010c2e4
1228+
MOVB.W R1, 0x20(R2) // MOVB.W R1, 32(R2) // 2010e2e5
1229+
MOVB R1, -0x20(R2) // MOVB R1, -32(R2) // 201042e5
1230+
MOVB.P R1, -0x20(R2) // MOVB.P R1, -32(R2) // 201042e4
1231+
MOVB.W R1, -0x20(R2) // MOVB.W R1, -32(R2) // 201062e5
1232+
MOVBS R1, (R2) // 0010c2e5
1233+
MOVBS.P R1, (R2) // 0010c2e4
1234+
MOVBS.W R1, (R2) // 0010e2e5
1235+
MOVBS R1, 0x20(R2) // MOVBS R1, 32(R2) // 2010c2e5
1236+
MOVBS.P R1, 0x20(R2) // MOVBS.P R1, 32(R2) // 2010c2e4
1237+
MOVBS.W R1, 0x20(R2) // MOVBS.W R1, 32(R2) // 2010e2e5
1238+
MOVBS R1, -0x20(R2) // MOVBS R1, -32(R2) // 201042e5
1239+
MOVBS.P R1, -0x20(R2) // MOVBS.P R1, -32(R2) // 201042e4
1240+
MOVBS.W R1, -0x20(R2) // MOVBS.W R1, -32(R2) // 201062e5
1241+
MOVBU R1, (R2) // 0010c2e5
1242+
MOVBU.P R1, (R2) // 0010c2e4
1243+
MOVBU.W R1, (R2) // 0010e2e5
1244+
MOVBU R1, 0x20(R2) // MOVBU R1, 32(R2) // 2010c2e5
1245+
MOVBU.P R1, 0x20(R2) // MOVBU.P R1, 32(R2) // 2010c2e4
1246+
MOVBU.W R1, 0x20(R2) // MOVBU.W R1, 32(R2) // 2010e2e5
1247+
MOVBU R1, -0x20(R2) // MOVBU R1, -32(R2) // 201042e5
1248+
MOVBU.P R1, -0x20(R2) // MOVBU.P R1, -32(R2) // 201042e4
1249+
MOVBU.W R1, -0x20(R2) // MOVBU.W R1, -32(R2) // 201062e5
1250+
MOVB (R2), R1 // d010d2e1
1251+
MOVB.P (R2), R1 // d010d2e0
1252+
MOVB.W (R2), R1 // d010f2e1
1253+
MOVB 0x20(R2), R1 // MOVB 32(R2), R1 // d012d2e1
1254+
MOVB.P 0x20(R2), R1 // MOVB.P 32(R2), R1 // d012d2e0
1255+
MOVB.W 0x20(R2), R1 // MOVB.W 32(R2), R1 // d012f2e1
1256+
MOVB -0x20(R2), R1 // MOVB -32(R2), R1 // d01252e1
1257+
MOVB.P -0x20(R2), R1 // MOVB.P -32(R2), R1 // d01252e0
1258+
MOVB.W -0x20(R2), R1 // MOVB.W -32(R2), R1 // d01272e1
1259+
MOVBS (R2), R1 // d010d2e1
1260+
MOVBS.P (R2), R1 // d010d2e0
1261+
MOVBS.W (R2), R1 // d010f2e1
1262+
MOVBS 0x20(R2), R1 // MOVBS 32(R2), R1 // d012d2e1
1263+
MOVBS.P 0x20(R2), R1 // MOVBS.P 32(R2), R1 // d012d2e0
1264+
MOVBS.W 0x20(R2), R1 // MOVBS.W 32(R2), R1 // d012f2e1
1265+
MOVBS -0x20(R2), R1 // MOVBS -32(R2), R1 // d01252e1
1266+
MOVBS.P -0x20(R2), R1 // MOVBS.P -32(R2), R1 // d01252e0
1267+
MOVBS.W -0x20(R2), R1 // MOVBS.W -32(R2), R1 // d01272e1
1268+
MOVBU (R2), R1 // 0010d2e5
1269+
MOVBU.P (R2), R1 // 0010d2e4
1270+
MOVBU.W (R2), R1 // 0010f2e5
1271+
MOVBU 0x20(R2), R1 // MOVBU 32(R2), R1 // 2010d2e5
1272+
MOVBU.P 0x20(R2), R1 // MOVBU.P 32(R2), R1 // 2010d2e4
1273+
MOVBU.W 0x20(R2), R1 // MOVBU.W 32(R2), R1 // 2010f2e5
1274+
MOVBU -0x20(R2), R1 // MOVBU -32(R2), R1 // 201052e5
1275+
MOVBU.P -0x20(R2), R1 // MOVBU.P -32(R2), R1 // 201052e4
1276+
MOVBU.W -0x20(R2), R1 // MOVBU.W -32(R2), R1 // 201072e5
1277+
MOVB R1, 0x00ffffff(R2) // MOVB R1, 16777215(R2)
1278+
MOVB.W R1, 0x00ffffff(R2) // MOVB.W R1, 16777215(R2)
1279+
MOVB.P R1, 0x00ffffff(R2) // MOVB.P R1, 16777215(R2)
1280+
MOVB R1, -0x00ffffff(R2) // MOVB R1, -16777215(R2)
1281+
MOVB.W R1, -0x00ffffff(R2) // MOVB.W R1, -16777215(R2)
1282+
MOVB.P R1, -0x00ffffff(R2) // MOVB.P R1, -16777215(R2)
1283+
MOVB 0x00ffffff(R2), R1 // MOVB 16777215(R2), R1
1284+
MOVB.P 0x00ffffff(R2), R1 // MOVB.P 16777215(R2), R1
1285+
MOVB.W 0x00ffffff(R2), R1 // MOVB.W 16777215(R2), R1
1286+
MOVB -0x00ffffff(R2), R1 // MOVB -16777215(R2), R1
1287+
MOVB.P -0x00ffffff(R2), R1 // MOVB.P -16777215(R2), R1
1288+
MOVB.W -0x00ffffff(R2), R1 // MOVB.W -16777215(R2), R1
1289+
MOVBS R1, 0x00ffffff(R2) // MOVBS R1, 16777215(R2)
1290+
MOVBS.W R1, 0x00ffffff(R2) // MOVBS.W R1, 16777215(R2)
1291+
MOVBS.P R1, 0x00ffffff(R2) // MOVBS.P R1, 16777215(R2)
1292+
MOVBS R1, -0x00ffffff(R2) // MOVBS R1, -16777215(R2)
1293+
MOVBS.W R1, -0x00ffffff(R2) // MOVBS.W R1, -16777215(R2)
1294+
MOVBS.P R1, -0x00ffffff(R2) // MOVBS.P R1, -16777215(R2)
1295+
MOVBS 0x00ffffff(R2), R1 // MOVBS 16777215(R2), R1
1296+
MOVBS.P 0x00ffffff(R2), R1 // MOVBS.P 16777215(R2), R1
1297+
MOVBS.W 0x00ffffff(R2), R1 // MOVBS.W 16777215(R2), R1
1298+
MOVBS -0x00ffffff(R2), R1 // MOVBS -16777215(R2), R1
1299+
MOVBS.P -0x00ffffff(R2), R1 // MOVBS.P -16777215(R2), R1
1300+
MOVBS.W -0x00ffffff(R2), R1 // MOVBS.W -16777215(R2), R1
1301+
MOVBU R1, 0x00ffffff(R2) // MOVBU R1, 16777215(R2)
1302+
MOVBU.W R1, 0x00ffffff(R2) // MOVBU.W R1, 16777215(R2)
1303+
MOVBU.P R1, 0x00ffffff(R2) // MOVBU.P R1, 16777215(R2)
1304+
MOVBU R1, -0x00ffffff(R2) // MOVBU R1, -16777215(R2)
1305+
MOVBU.W R1, -0x00ffffff(R2) // MOVBU.W R1, -16777215(R2)
1306+
MOVBU.P R1, -0x00ffffff(R2) // MOVBU.P R1, -16777215(R2)
1307+
MOVBU 0x00ffffff(R2), R1 // MOVBU 16777215(R2), R1
1308+
MOVBU.P 0x00ffffff(R2), R1 // MOVBU.P 16777215(R2), R1
1309+
MOVBU.W 0x00ffffff(R2), R1 // MOVBU.W 16777215(R2), R1
1310+
MOVBU -0x00ffffff(R2), R1 // MOVBU -16777215(R2), R1
1311+
MOVBU.P -0x00ffffff(R2), R1 // MOVBU.P -16777215(R2), R1
1312+
MOVBU.W -0x00ffffff(R2), R1 // MOVBU.W -16777215(R2), R1
1313+
MOVB R0, math·Exp(SB) // MOVB R0, math.Exp(SB)
1314+
MOVB math·Exp(SB), R0 // MOVB math.Exp(SB), R0
1315+
MOVBS R0, math·Exp(SB) // MOVBS R0, math.Exp(SB)
1316+
MOVBS math·Exp(SB), R0 // MOVBS math.Exp(SB), R0
1317+
MOVBU R0, math·Exp(SB) // MOVBU R0, math.Exp(SB)
1318+
MOVBU math·Exp(SB), R0 // MOVBU math.Exp(SB), R0
1319+
MOVB R2, R0>>28(R1) // 202ec1e7
1320+
MOVB R2, R0<<28(R1) // 002ec1e7
1321+
MOVB R2, R0->28(R1) // 402ec1e7
1322+
MOVB R2, R0@>28(R1) // 602ec1e7
1323+
MOVB.U R2, R0>>28(R1) // 202e41e7
1324+
MOVB.U R2, R0<<28(R1) // 002e41e7
1325+
MOVB.U R2, R0->28(R1) // 402e41e7
1326+
MOVB.U R2, R0@>28(R1) // 602e41e7
1327+
MOVB.W R2, R0>>28(R1) // 202ee1e7
1328+
MOVB.W R2, R0<<28(R1) // 002ee1e7
1329+
MOVB.W R2, R0->28(R1) // 402ee1e7
1330+
MOVB.W R2, R0@>28(R1) // 602ee1e7
1331+
MOVB.P R2, R0>>28(R5) // 202ec5e6
1332+
MOVB.P R2, R0<<28(R5) // 002ec5e6
1333+
MOVB.P R2, R0->28(R5) // 402ec5e6
1334+
MOVB.P R2, R0@>28(R5) // 602ec5e6
1335+
MOVBS R2, R0>>28(R1) // 202ec1e7
1336+
MOVBS R2, R0<<28(R1) // 002ec1e7
1337+
MOVBS R2, R0->28(R1) // 402ec1e7
1338+
MOVBS R2, R0@>28(R1) // 602ec1e7
1339+
MOVBS.U R2, R0>>28(R1) // 202e41e7
1340+
MOVBS.U R2, R0<<28(R1) // 002e41e7
1341+
MOVBS.U R2, R0->28(R1) // 402e41e7
1342+
MOVBS.U R2, R0@>28(R1) // 602e41e7
1343+
MOVBS.W R2, R0>>28(R1) // 202ee1e7
1344+
MOVBS.W R2, R0<<28(R1) // 002ee1e7
1345+
MOVBS.W R2, R0->28(R1) // 402ee1e7
1346+
MOVBS.W R2, R0@>28(R1) // 602ee1e7
1347+
MOVBS.P R2, R0>>28(R5) // 202ec5e6
1348+
MOVBS.P R2, R0<<28(R5) // 002ec5e6
1349+
MOVBS.P R2, R0->28(R5) // 402ec5e6
1350+
MOVBS.P R2, R0@>28(R5) // 602ec5e6
1351+
MOVBU R2, R0>>28(R1) // 202ec1e7
1352+
MOVBU R2, R0<<28(R1) // 002ec1e7
1353+
MOVBU R2, R0->28(R1) // 402ec1e7
1354+
MOVBU R2, R0@>28(R1) // 602ec1e7
1355+
MOVBU.U R2, R0>>28(R1) // 202e41e7
1356+
MOVBU.U R2, R0<<28(R1) // 002e41e7
1357+
MOVBU.U R2, R0->28(R1) // 402e41e7
1358+
MOVBU.U R2, R0@>28(R1) // 602e41e7
1359+
MOVBU.W R2, R0>>28(R1) // 202ee1e7
1360+
MOVBU.W R2, R0<<28(R1) // 002ee1e7
1361+
MOVBU.W R2, R0->28(R1) // 402ee1e7
1362+
MOVBU.W R2, R0@>28(R1) // 602ee1e7
1363+
MOVBU.P R2, R0>>28(R5) // 202ec5e6
1364+
MOVBU.P R2, R0<<28(R5) // 002ec5e6
1365+
MOVBU.P R2, R0->28(R5) // 402ec5e6
1366+
MOVBU.P R2, R0@>28(R5) // 602ec5e6
1367+
MOVBU R0>>28(R1), R2 // 202ed1e7
1368+
MOVBU R0<<28(R1), R2 // 002ed1e7
1369+
MOVBU R0->28(R1), R2 // 402ed1e7
1370+
MOVBU R0@>28(R1), R2 // 602ed1e7
1371+
MOVBU.U R0>>28(R1), R2 // 202e51e7
1372+
MOVBU.U R0<<28(R1), R2 // 002e51e7
1373+
MOVBU.U R0->28(R1), R2 // 402e51e7
1374+
MOVBU.U R0@>28(R1), R2 // 602e51e7
1375+
MOVBU.W R0>>28(R1), R2 // 202ef1e7
1376+
MOVBU.W R0<<28(R1), R2 // 002ef1e7
1377+
MOVBU.W R0->28(R1), R2 // 402ef1e7
1378+
MOVBU.W R0@>28(R1), R2 // 602ef1e7
1379+
MOVBU.P R0>>28(g), R2 // 202edae6
1380+
MOVBU.P R0<<28(g), R2 // 002edae6
1381+
MOVBU.P R0->28(g), R2 // 402edae6
1382+
MOVBU.P R0@>28(g), R2 // 602edae6
1383+
MOVBS R0<<0(R1), R2 // d02091e1
1384+
MOVBS.U R0<<0(R1), R2 // d02011e1
1385+
MOVBS.W R0<<0(R1), R2 // d020b1e1
1386+
MOVBS.P R0<<0(R1), R2 // d02091e0
1387+
MOVB R0<<0(R1), R2 // d02091e1
1388+
MOVB.U R0<<0(R1), R2 // d02011e1
1389+
MOVB.W R0<<0(R1), R2 // d020b1e1
1390+
MOVB.P R0<<0(R1), R2 // d02091e0
1391+
1392+
// MOVH
1393+
MOVH R3, R4 // 0340a0e1
1394+
MOVH R9, R2 // 0920a0e1
1395+
MOVHS R5, R6 // 0568a0e14668a0e1
1396+
MOVHU R5, R6 // 0568a0e12668a0e1
1397+
MOVH R4, (R3) // b040c3e1
1398+
MOVHS.W R4, (R3) // b040e3e1
1399+
MOVHS.P R4, (R3) // b040c3e0
1400+
MOVHS R4, (R3) // b040c3e1
1401+
MOVHS.W R4, (R3) // b040e3e1
1402+
MOVHS.P R4, (R3) // b040c3e0
1403+
MOVHU R4, (R3) // b040c3e1
1404+
MOVHU.W R4, (R3) // b040e3e1
1405+
MOVHU.P R4, (R3) // b040c3e0
1406+
MOVH R3, 0x20(R4) // MOVH R3, 32(R4) // b032c4e1
1407+
MOVH.W R3, 0x20(R4) // MOVH.W R3, 32(R4) // b032e4e1
1408+
MOVH.P R3, 0x20(R4) // MOVH.P R3, 32(R4) // b032c4e0
1409+
MOVHS R3, 0x20(R4) // MOVHS R3, 32(R4) // b032c4e1
1410+
MOVHS.W R3, 0x20(R4) // MOVHS.W R3, 32(R4) // b032e4e1
1411+
MOVHS.P R3, 0x20(R4) // MOVHS.P R3, 32(R4) // b032c4e0
1412+
MOVHU R3, 0x20(R4) // MOVHU R3, 32(R4) // b032c4e1
1413+
MOVHU.W R3, 0x20(R4) // MOVHU.W R3, 32(R4) // b032e4e1
1414+
MOVHU.P R3, 0x20(R4) // MOVHU.P R3, 32(R4) // b032c4e0
1415+
MOVH R3, -0x20(R4) // MOVH R3, -32(R4) // b03244e1
1416+
MOVH.W R3, -0x20(R4) // MOVH.W R3, -32(R4) // b03264e1
1417+
MOVH.P R3, -0x20(R4) // MOVH.P R3, -32(R4) // b03244e0
1418+
MOVHS R3, -0x20(R4) // MOVHS R3, -32(R4) // b03244e1
1419+
MOVHS.W R3, -0x20(R4) // MOVHS.W R3, -32(R4) // b03264e1
1420+
MOVHS.P R3, -0x20(R4) // MOVHS.P R3, -32(R4) // b03244e0
1421+
MOVHU R3, -0x20(R4) // MOVHU R3, -32(R4) // b03244e1
1422+
MOVHU.W R3, -0x20(R4) // MOVHU.W R3, -32(R4) // b03264e1
1423+
MOVHU.P R3, -0x20(R4) // MOVHU.P R3, -32(R4) // b03244e0
1424+
MOVHU (R9), R8 // b080d9e1
1425+
MOVHU.W (R9), R8 // b080f9e1
1426+
MOVHU.P (R9), R8 // b080d9e0
1427+
MOVH (R9), R8 // f080d9e1
1428+
MOVH.W (R9), R8 // f080f9e1
1429+
MOVH.P (R9), R8 // f080d9e0
1430+
MOVHS (R9), R8 // f080d9e1
1431+
MOVHS.W (R9), R8 // f080f9e1
1432+
MOVHS.P (R9), R8 // f080d9e0
1433+
MOVHU 0x22(R9), R8 // MOVHU 34(R9), R8 // b282d9e1
1434+
MOVHU.W 0x22(R9), R8 // MOVHU.W 34(R9), R8 // b282f9e1
1435+
MOVHU.P 0x22(R9), R8 // MOVHU.P 34(R9), R8 // b282d9e0
1436+
MOVH 0x22(R9), R8 // MOVH 34(R9), R8 // f282d9e1
1437+
MOVH.W 0x22(R9), R8 // MOVH.W 34(R9), R8 // f282f9e1
1438+
MOVH.P 0x22(R9), R8 // MOVH.P 34(R9), R8 // f282d9e0
1439+
MOVHS 0x22(R9), R8 // MOVHS 34(R9), R8 // f282d9e1
1440+
MOVHS.W 0x22(R9), R8 // MOVHS.W 34(R9), R8 // f282f9e1
1441+
MOVHS.P 0x22(R9), R8 // MOVHS.P 34(R9), R8 // f282d9e0
1442+
MOVHU -0x24(R9), R8 // MOVHU -36(R9), R8 // b48259e1
1443+
MOVHU.W -0x24(R9), R8 // MOVHU.W -36(R9), R8 // b48279e1
1444+
MOVHU.P -0x24(R9), R8 // MOVHU.P -36(R9), R8 // b48259e0
1445+
MOVH -0x24(R9), R8 // MOVH -36(R9), R8 // f48259e1
1446+
MOVH.W -0x24(R9), R8 // MOVH.W -36(R9), R8 // f48279e1
1447+
MOVH.P -0x24(R9), R8 // MOVH.P -36(R9), R8 // f48259e0
1448+
MOVHS -0x24(R9), R8 // MOVHS -36(R9), R8 // f48259e1
1449+
MOVHS.W -0x24(R9), R8 // MOVHS.W -36(R9), R8 // f48279e1
1450+
MOVHS.P -0x24(R9), R8 // MOVHS.P -36(R9), R8 // f48259e0
1451+
MOVH R1, 0x00ffffff(R2) // MOVH R1, 16777215(R2)
1452+
MOVH.W R1, 0x00ffffff(R2) // MOVH.W R1, 16777215(R2)
1453+
MOVH.P R1, 0x00ffffff(R2) // MOVH.P R1, 16777215(R2)
1454+
MOVH R1, -0x00ffffff(R2) // MOVH R1, -16777215(R2)
1455+
MOVH.W R1, -0x00ffffff(R2) // MOVH.W R1, -16777215(R2)
1456+
MOVH.P R1, -0x00ffffff(R2) // MOVH.P R1, -16777215(R2)
1457+
MOVH 0x00ffffff(R2), R1 // MOVH 16777215(R2), R1
1458+
MOVH.P 0x00ffffff(R2), R1 // MOVH.P 16777215(R2), R1
1459+
MOVH.W 0x00ffffff(R2), R1 // MOVH.W 16777215(R2), R1
1460+
MOVH -0x00ffffff(R2), R1 // MOVH -16777215(R2), R1
1461+
MOVH.P -0x00ffffff(R2), R1 // MOVH.P -16777215(R2), R1
1462+
MOVH.W -0x00ffffff(R2), R1 // MOVH.W -16777215(R2), R1
1463+
MOVHS R1, 0x00ffffff(R2) // MOVHS R1, 16777215(R2)
1464+
MOVHS.W R1, 0x00ffffff(R2) // MOVHS.W R1, 16777215(R2)
1465+
MOVHS.P R1, 0x00ffffff(R2) // MOVHS.P R1, 16777215(R2)
1466+
MOVHS R1, -0x00ffffff(R2) // MOVHS R1, -16777215(R2)
1467+
MOVHS.W R1, -0x00ffffff(R2) // MOVHS.W R1, -16777215(R2)
1468+
MOVHS.P R1, -0x00ffffff(R2) // MOVHS.P R1, -16777215(R2)
1469+
MOVHS 0x00ffffff(R2), R1 // MOVHS 16777215(R2), R1
1470+
MOVHS.P 0x00ffffff(R2), R1 // MOVHS.P 16777215(R2), R1
1471+
MOVHS.W 0x00ffffff(R2), R1 // MOVHS.W 16777215(R2), R1
1472+
MOVHS -0x00ffffff(R2), R1 // MOVHS -16777215(R2), R1
1473+
MOVHS.P -0x00ffffff(R2), R1 // MOVHS.P -16777215(R2), R1
1474+
MOVHS.W -0x00ffffff(R2), R1 // MOVHS.W -16777215(R2), R1
1475+
MOVHU R1, 0x00ffffff(R2) // MOVHU R1, 16777215(R2)
1476+
MOVHU.W R1, 0x00ffffff(R2) // MOVHU.W R1, 16777215(R2)
1477+
MOVHU.P R1, 0x00ffffff(R2) // MOVHU.P R1, 16777215(R2)
1478+
MOVHU R1, -0x00ffffff(R2) // MOVHU R1, -16777215(R2)
1479+
MOVHU.W R1, -0x00ffffff(R2) // MOVHU.W R1, -16777215(R2)
1480+
MOVHU.P R1, -0x00ffffff(R2) // MOVHU.P R1, -16777215(R2)
1481+
MOVHU 0x00ffffff(R2), R1 // MOVHU 16777215(R2), R1
1482+
MOVHU.P 0x00ffffff(R2), R1 // MOVHU.P 16777215(R2), R1
1483+
MOVHU.W 0x00ffffff(R2), R1 // MOVHU.W 16777215(R2), R1
1484+
MOVHU -0x00ffffff(R2), R1 // MOVHU -16777215(R2), R1
1485+
MOVHU.P -0x00ffffff(R2), R1 // MOVHU.P -16777215(R2), R1
1486+
MOVHU.W -0x00ffffff(R2), R1 // MOVHU.W -16777215(R2), R1
1487+
MOVH R0, math·Exp(SB) // MOVH R0, math.Exp(SB)
1488+
MOVH math·Exp(SB), R0 // MOVH math.Exp(SB), R0
1489+
MOVHS R0, math·Exp(SB) // MOVHS R0, math.Exp(SB)
1490+
MOVHS math·Exp(SB), R0 // MOVHS math.Exp(SB), R0
1491+
MOVHU R0, math·Exp(SB) // MOVHU R0, math.Exp(SB)
1492+
MOVHU math·Exp(SB), R0 // MOVHU math.Exp(SB), R0
1493+
12241494
//
12251495
// END
12261496
//

0 commit comments

Comments
 (0)