Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: tests_lit/llvm2ice_tests/64bit.pnacl.ll

Issue 2384433002: [Subzero][MIPS] Implement conditional branches with 64-bit integer compares (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Removed changes of issue 2376233004 which were added to this patch by mistake Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/IceTargetLoweringMIPS32.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; This tries to be a comprehensive test of i64 operations, in 1 ; This tries to be a comprehensive test of i64 operations, in
2 ; particular the patterns for lowering i64 operations into constituent 2 ; particular the patterns for lowering i64 operations into constituent
3 ; i32 operations on x86-32. 3 ; i32 operations on x86-32.
4 4
5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
6 ; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \ 6 ; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \
7 ; RUN: | %if --need=target_X8632 --command FileCheck %s 7 ; RUN: | %if --need=target_X8632 --command FileCheck %s
8 8
9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
10 ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \ 10 ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \
(...skipping 1282 matching lines...) Expand 10 before | Expand all | Expand 10 after
1293 ; ARM32-OM1: tst 1293 ; ARM32-OM1: tst
1294 ; ARM32: bne 1294 ; ARM32: bne
1295 ; ARM32: bl {{.*}} <func> 1295 ; ARM32: bl {{.*}} <func>
1296 ; ARM32: cmp 1296 ; ARM32: cmp
1297 ; ARM32: cmpeq 1297 ; ARM32: cmpeq
1298 ; ARM32-OM1: tst 1298 ; ARM32-OM1: tst
1299 ; ARM32: bne 1299 ; ARM32: bne
1300 ; ARM32: bl {{.*}} <func> 1300 ; ARM32: bl {{.*}} <func>
1301 ; ARM32: bx 1301 ; ARM32: bx
1302 1302
1303 ; MIPS32-LABEL: icmpEq64
1304 ; MIPS32: xor [[T1:.*]],{{.*}},{{.*}}
1305 ; MIPS32: xor [[T2:.*]],{{.*}},{{.*}}
1306 ; MIPS32: or [[T3:.*]],[[T1]],[[T2]]
1307 ; MIPS32-O2: bnez [[T3]],{{.*}}
1308 ; MIPS32-OM1: sltiu [[T4:.*]],[[T3]],1
1309 ; MIPS32-OM1: sw [[T4]],[[MEM:.*]]
Jim Stichnoth 2016/09/29 13:52:20 I am very impressed by the level of detail in thes
1310 ; MIPS32-OM1: lb [[T5:.*]],[[MEM]]
1311 ; MIPS32-OM1: beqz [[T5]],{{.*}}
1312 ; MIPS32-OM1: b {{.*}}
1313 ; MIPS32: jal {{.*}}
1314 ; MIPS32-OM1: b {{.*}}
1315 ; MIPS32: xor [[T1:.*]],{{.*}},{{.*}}
1316 ; MIPS32: xor [[T2:.*]],{{.*}},{{.*}}
1317 ; MIPS32: or [[T3:.*]],[[T1]],[[T2]]
1318 ; MIPS32-O2: bnez [[T3]],{{.*}}
1319 ; MIPS32-OM1: sltiu [[T4:.*]],[[T3]],1
1320 ; MIPS32-OM1: sw [[T4]],[[MEM:.*]]
1321 ; MIPS32-OM1: lb [[T5:.*]],[[MEM]]
1322 ; MIPS32-OM1: beqz [[T5]],{{.*}}
1323 ; MIPS32-OM1: b {{.*}}
1324 ; MIPS32: jal {{.*}}
1325 ; MIPS32-OM1: b {{.*}}
1326
1303 declare void @func() 1327 declare void @func()
1304 1328
1305 define internal void @icmpNe64(i64 %a, i64 %b, i64 %c, i64 %d) { 1329 define internal void @icmpNe64(i64 %a, i64 %b, i64 %c, i64 %d) {
1306 entry: 1330 entry:
1307 %cmp = icmp ne i64 %a, %b 1331 %cmp = icmp ne i64 %a, %b
1308 br i1 %cmp, label %if.then, label %if.end 1332 br i1 %cmp, label %if.then, label %if.end
1309 1333
1310 if.then: ; preds = %entry 1334 if.then: ; preds = %entry
1311 call void @func() 1335 call void @func()
1312 br label %if.end 1336 br label %if.end
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1363 ; ARM32-OM1: bne 1387 ; ARM32-OM1: bne
1364 ; ARM32-O2: beq 1388 ; ARM32-O2: beq
1365 ; ARM32: bl {{.*}} <func> 1389 ; ARM32: bl {{.*}} <func>
1366 ; ARM32: cmp 1390 ; ARM32: cmp
1367 ; ARM32: cmpeq 1391 ; ARM32: cmpeq
1368 ; ARM32-OM1: tst 1392 ; ARM32-OM1: tst
1369 ; ARM32-OM1: bne 1393 ; ARM32-OM1: bne
1370 ; ARM32-O2: beq 1394 ; ARM32-O2: beq
1371 ; ARM32: bl 1395 ; ARM32: bl
1372 1396
1397 ; MIPS32-LABEL: icmpNe64
1398 ; MIPS32: xor [[T1:.*]],{{.*}},{{.*}}
1399 ; MIPS32: xor [[T2:.*]],{{.*}},{{.*}}
1400 ; MIPS32: or [[T3:.*]],[[T1]],[[T2]]
1401 ; MIPS32-O2: beqz [[T3]],{{.*}}
1402 ; MIPS32-OM1: sltu [[T4:.*]],zero,[[T3]]
1403 ; MIPS32-OM1: sw [[T4]],[[MEM:.*]]
1404 ; MIPS32-OM1: lb [[T5:.*]],[[MEM]]
1405 ; MIPS32-OM1: beqz [[T5]],{{.*}}
1406 ; MIPS32-OM1: b {{.*}}
1407 ; MIPS32: jal {{.*}}
1408 ; MIPS32-OM1: b {{.*}}
1409 ; MIPS32: xor [[T1:.*]],{{.*}},{{.*}}
1410 ; MIPS32: xor [[T2:.*]],{{.*}},{{.*}}
1411 ; MIPS32: or [[T3:.*]],[[T1]],[[T2]]
1412 ; MIPS32-O2: beqz [[T3]],{{.*}}
1413 ; MIPS32-OM1: sltu [[T4:.*]],zero,[[T3]]
1414 ; MIPS32-OM1: sw [[T4]],[[MEM:.*]]
1415 ; MIPS32-OM1: lb [[T5:.*]],[[MEM]]
1416 ; MIPS32-OM1: beqz [[T5]],{{.*}}
1417 ; MIPS32-OM1: b {{.*}}
1418 ; MIPS32: jal {{.*}}
1419 ; MIPS32-OM1: b {{.*}}
1420
1373 define internal void @icmpGt64(i64 %a, i64 %b, i64 %c, i64 %d) { 1421 define internal void @icmpGt64(i64 %a, i64 %b, i64 %c, i64 %d) {
1374 entry: 1422 entry:
1375 %cmp = icmp ugt i64 %a, %b 1423 %cmp = icmp ugt i64 %a, %b
1376 br i1 %cmp, label %if.then, label %if.end 1424 br i1 %cmp, label %if.then, label %if.end
1377 1425
1378 if.then: ; preds = %entry 1426 if.then: ; preds = %entry
1379 call void @func() 1427 call void @func()
1380 br label %if.end 1428 br label %if.end
1381 1429
1382 if.end: ; preds = %if.then, %entry 1430 if.end: ; preds = %if.then, %entry
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 ; ARM32-OM1: bne 1465 ; ARM32-OM1: bne
1418 ; ARM32-O2: bls 1466 ; ARM32-O2: bls
1419 ; ARM32: bl 1467 ; ARM32: bl
1420 ; ARM32: cmp 1468 ; ARM32: cmp
1421 ; ARM32: sbcs 1469 ; ARM32: sbcs
1422 ; ARM32-OM1: tst 1470 ; ARM32-OM1: tst
1423 ; ARM32-OM1: bne 1471 ; ARM32-OM1: bne
1424 ; ARM32-O2: bge 1472 ; ARM32-O2: bge
1425 ; ARM32: bl 1473 ; ARM32: bl
1426 1474
1475 ; MIPS32-LABEL: icmpGt64
1476 ; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
1477 ; MIPS32-O2: sltu [[T2:.*]],[[B_HI]],[[A_HI]]
1478 ; MIPS32-O2: xori [[T3:.*]],[[T2]],0x1
1479 ; MIPS32-O2: sltu [[T4:.*]],{{.*}},{{.*}}
1480 ; MIPS32-O2: xori [[T5:.*]],[[T4]],0x1
1481 ; MIPS32-OM1: sltu [[T3:.*]],[[B_HI]],[[A_HI]]
1482 ; MIPS32-OM1: sltu [[T5:.*]],{{.*}},{{.*}}
1483 ; MIPS32: movz [[T3]],[[T5]],[[T1]]
1484 ; MIPS32-O2: bnez [[T3]],{{.*}}
1485 ; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
1486 ; MIPS32-OM1: lb [[T6:.*]],[[MEM]]
1487 ; MIPS32-OM1: beqz [[T6]],{{.*}}
1488 ; MIPS32-OM1: b {{.*}}
1489 ; MIPS32: jal {{.*}}
1490 ; MIPS32-OM1: b {{.*}}
1491 ; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
1492 ; MIPS32-O2: slt [[T2:.*]],[[B_HI]],[[A_HI]]
1493 ; MIPS32-O2: xori [[T3:.*]],[[T2]],0x1
1494 ; MIPS32-O2: sltu [[T4:.*]],{{.*}},{{.*}}
1495 ; MIPS32-O2: xori [[T5:.*]],[[T4]],0x1
1496 ; MIPS32-OM1: slt [[T3:.*]],[[B_HI]],[[A_HI]]
1497 ; MIPS32-OM1: sltu [[T5:.*]],{{.*}},{{.*}}
1498 ; MIPS32: movz [[T3]],[[T5]],[[T1]]
1499 ; MIPS32-O2: bnez [[T3]],{{.*}}
1500 ; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
1501 ; MIPS32-OM1: lb [[T6:.*]],[[MEM]]
1502 ; MIPS32-OM1: beqz [[T6]],{{.*}}
1503 ; MIPS32-OM1: b {{.*}}
1504 ; MIPS32: jal {{.*}}
1505 ; MIPS32-OM1: b {{.*}}
1506
1427 define internal void @icmpGe64(i64 %a, i64 %b, i64 %c, i64 %d) { 1507 define internal void @icmpGe64(i64 %a, i64 %b, i64 %c, i64 %d) {
1428 entry: 1508 entry:
1429 %cmp = icmp uge i64 %a, %b 1509 %cmp = icmp uge i64 %a, %b
1430 br i1 %cmp, label %if.then, label %if.end 1510 br i1 %cmp, label %if.then, label %if.end
1431 1511
1432 if.then: ; preds = %entry 1512 if.then: ; preds = %entry
1433 call void @func() 1513 call void @func()
1434 br label %if.end 1514 br label %if.end
1435 1515
1436 if.end: ; preds = %if.then, %entry 1516 if.end: ; preds = %if.then, %entry
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1471 ; ARM32-OM1: bne 1551 ; ARM32-OM1: bne
1472 ; ARM32-O2: bcc 1552 ; ARM32-O2: bcc
1473 ; ARM32: bl 1553 ; ARM32: bl
1474 ; ARM32: cmp 1554 ; ARM32: cmp
1475 ; ARM32: sbcs 1555 ; ARM32: sbcs
1476 ; ARM32-OM1: tst 1556 ; ARM32-OM1: tst
1477 ; ARM32-OM1: bne 1557 ; ARM32-OM1: bne
1478 ; ARM32-O2: blt 1558 ; ARM32-O2: blt
1479 ; ARM32: bl 1559 ; ARM32: bl
1480 1560
1561 ; MIPS32-LABEL: icmpGe64
1562 ; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
1563 ; MIPS32-OM1: sltu [[T2:.*]],[[A_HI]],[[B_HI]]
1564 ; MIPS32-OM1: xori [[T3:.*]],[[T2]],0x1
1565 ; MIPS32-OM1: sltu [[T4:.*]],{{.*}},{{.*}}
1566 ; MIPS32-OM1: xori [[T5:.*]],[[T4]],0x1
1567 ; MIPS32-O2: sltu [[T3:.*]],[[A_HI]],[[B_HI]]
1568 ; MIPS32-O2: sltu [[T5:.*]],{{.*}},{{.*}}
1569 ; MIPS32: movz [[T3]],[[T5]],[[T1]]
1570 ; MIPS32-O2: bnez [[T3]],{{.*}}
1571 ; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
1572 ; MIPS32-OM1: lb [[T6:.*]],[[MEM]]
1573 ; MIPS32-OM1: beqz [[T6]],{{.*}}
1574 ; MIPS32-OM1: b {{.*}}
1575 ; MIPS32: jal {{.*}}
1576 ; MIPS32-OM1: b {{.*}}
1577 ; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
1578 ; MIPS32-OM1: slt [[T2:.*]],[[A_HI]],[[B_HI]]
1579 ; MIPS32-OM1: xori [[T3:.*]],[[T2]],0x1
1580 ; MIPS32-OM1: sltu [[T4:.*]],{{.*}},{{.*}}
1581 ; MIPS32-OM1: xori [[T5:.*]],[[T4]],0x1
1582 ; MIPS32-O2: slt [[T3:.*]],[[A_HI]],[[B_HI]]
1583 ; MIPS32-O2: sltu [[T5:.*]],{{.*}},{{.*}}
1584 ; MIPS32: movz [[T3]],[[T5]],[[T1]]
1585 ; MIPS32-O2: bnez [[T3]],{{.*}}
1586 ; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
1587 ; MIPS32-OM1: lb [[T6:.*]],[[MEM]]
1588 ; MIPS32-OM1: beqz [[T6]],{{.*}}
1589 ; MIPS32-OM1: b {{.*}}
1590 ; MIPS32: jal {{.*}}
1591 ; MIPS32-OM1: b {{.*}}
1592
1481 define internal void @icmpLt64(i64 %a, i64 %b, i64 %c, i64 %d) { 1593 define internal void @icmpLt64(i64 %a, i64 %b, i64 %c, i64 %d) {
1482 entry: 1594 entry:
1483 %cmp = icmp ult i64 %a, %b 1595 %cmp = icmp ult i64 %a, %b
1484 br i1 %cmp, label %if.then, label %if.end 1596 br i1 %cmp, label %if.then, label %if.end
1485 1597
1486 if.then: ; preds = %entry 1598 if.then: ; preds = %entry
1487 call void @func() 1599 call void @func()
1488 br label %if.end 1600 br label %if.end
1489 1601
1490 if.end: ; preds = %if.then, %entry 1602 if.end: ; preds = %if.then, %entry
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1525 ; ARM32-OM1: bne 1637 ; ARM32-OM1: bne
1526 ; ARM32-O2: bcs 1638 ; ARM32-O2: bcs
1527 ; ARM32: bl 1639 ; ARM32: bl
1528 ; ARM32: cmp 1640 ; ARM32: cmp
1529 ; ARM32: sbcs 1641 ; ARM32: sbcs
1530 ; ARM32-OM1: tst 1642 ; ARM32-OM1: tst
1531 ; ARM32-OM1: bne 1643 ; ARM32-OM1: bne
1532 ; ARM32-O2: bge 1644 ; ARM32-O2: bge
1533 ; ARM32: bl 1645 ; ARM32: bl
1534 1646
1647 ; MIPS32-LABEL: icmpLt64
1648 ; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
1649 ; MIPS32-O2: sltu [[T2:.*]],[[A_HI]],[[B_HI]]
1650 ; MIPS32-O2: xori [[T3:.*]],[[T2]],0x1
1651 ; MIPS32-O2: sltu [[T4:.*]],{{.*}},{{.*}}
1652 ; MIPS32-O2: xori [[T5:.*]],[[T4]],0x1
1653 ; MIPS32-OM1: sltu [[T3:.*]],[[A_HI]],[[B_HI]]
1654 ; MIPS32-OM1: sltu [[T5:.*]],{{.*}},{{.*}}
1655 ; MIPS32: movz [[T3]],[[T5]],[[T1]]
1656 ; MIPS32-O2: bnez [[T3]],{{.*}}
1657 ; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
1658 ; MIPS32-OM1: lb [[T6:.*]],[[MEM]]
1659 ; MIPS32-OM1: beqz [[T6]],{{.*}}
1660 ; MIPS32-OM1: b {{.*}}
1661 ; MIPS32: jal {{.*}}
1662 ; MIPS32-OM1: b {{.*}}
1663 ; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
1664 ; MIPS32-O2: slt [[T2:.*]],[[A_HI]],[[B_HI]]
1665 ; MIPS32-O2: xori [[T3:.*]],[[T2]],0x1
1666 ; MIPS32-O2: sltu [[T4:.*]],{{.*}},{{.*}}
1667 ; MIPS32-O2: xori [[T5:.*]],[[T4]],0x1
1668 ; MIPS32-OM1: slt [[T3:.*]],[[A_HI]],[[B_HI]]
1669 ; MIPS32-OM1: sltu [[T5:.*]],{{.*}},{{.*}}
1670 ; MIPS32: movz [[T3]],[[T5]],[[T1]]
1671 ; MIPS32-O2: bnez [[T3]],{{.*}}
1672 ; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
1673 ; MIPS32-OM1: lb [[T6:.*]],[[MEM]]
1674 ; MIPS32-OM1: beqz [[T6]],{{.*}}
1675 ; MIPS32-OM1: b {{.*}}
1676 ; MIPS32: jal {{.*}}
1677 ; MIPS32-OM1: b {{.*}}
1678
1535 define internal void @icmpLe64(i64 %a, i64 %b, i64 %c, i64 %d) { 1679 define internal void @icmpLe64(i64 %a, i64 %b, i64 %c, i64 %d) {
1536 entry: 1680 entry:
1537 %cmp = icmp ule i64 %a, %b 1681 %cmp = icmp ule i64 %a, %b
1538 br i1 %cmp, label %if.then, label %if.end 1682 br i1 %cmp, label %if.then, label %if.end
1539 1683
1540 if.then: ; preds = %entry 1684 if.then: ; preds = %entry
1541 call void @func() 1685 call void @func()
1542 br label %if.end 1686 br label %if.end
1543 1687
1544 if.end: ; preds = %if.then, %entry 1688 if.end: ; preds = %if.then, %entry
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 ; ARM32-OM1: bne 1723 ; ARM32-OM1: bne
1580 ; ARM32-O2: bhi 1724 ; ARM32-O2: bhi
1581 ; ARM32: bl 1725 ; ARM32: bl
1582 ; ARM32: cmp 1726 ; ARM32: cmp
1583 ; ARM32: sbcs 1727 ; ARM32: sbcs
1584 ; ARM32-OM1: tst 1728 ; ARM32-OM1: tst
1585 ; ARM32-OM1: bne 1729 ; ARM32-OM1: bne
1586 ; ARM32-O2: blt 1730 ; ARM32-O2: blt
1587 ; ARM32: bl 1731 ; ARM32: bl
1588 1732
1733 ; MIPS32-LABEL: icmpLe64
1734 ; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
1735 ; MIPS32-OM1: sltu [[T2:.*]],[[B_HI]],[[A_HI]]
1736 ; MIPS32-OM1: xori [[T3:.*]],[[T2]],0x1
1737 ; MIPS32-OM1: sltu [[T4:.*]],{{.*}},{{.*}}
1738 ; MIPS32-OM1: xori [[T5:.*]],[[T4]],0x1
1739 ; MIPS32-O2: sltu [[T3:.*]],[[B_HI]],[[A_HI]]
1740 ; MIPS32-O2: sltu [[T5:.*]],{{.*}},{{.*}}
1741 ; MIPS32: movz [[T3]],[[T5]],[[T1]]
1742 ; MIPS32-O2: bnez [[T3]],{{.*}}
1743 ; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
1744 ; MIPS32-OM1: lb [[T6:.*]],[[MEM]]
1745 ; MIPS32-OM1: beqz [[T6]],{{.*}}
1746 ; MIPS32-OM1: b {{.*}}
1747 ; MIPS32: jal {{.*}}
1748 ; MIPS32-OM1: b {{.*}}
1749 ; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
1750 ; MIPS32-OM1: slt [[T2:.*]],[[B_HI]],[[A_HI]]
1751 ; MIPS32-OM1: xori [[T3:.*]],[[T2]],0x1
1752 ; MIPS32-OM1: sltu [[T4:.*]],{{.*}},{{.*}}
1753 ; MIPS32-OM1: xori [[T5:.*]],[[T4]],0x1
1754 ; MIPS32-O2: slt [[T3:.*]],[[B_HI]],[[A_HI]]
1755 ; MIPS32-O2: sltu [[T5:.*]],{{.*}},{{.*}}
1756 ; MIPS32: movz [[T3]],[[T5]],[[T1]]
1757 ; MIPS32-O2: bnez [[T3]],{{.*}}
1758 ; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
1759 ; MIPS32-OM1: lb [[T6:.*]],[[MEM]]
1760 ; MIPS32-OM1: beqz [[T6]],{{.*}}
1761 ; MIPS32-OM1: b {{.*}}
1762 ; MIPS32: jal {{.*}}
1763 ; MIPS32-OM1: b {{.*}}
1764
1589 define internal i32 @icmpEq64Bool(i64 %a, i64 %b) { 1765 define internal i32 @icmpEq64Bool(i64 %a, i64 %b) {
1590 entry: 1766 entry:
1591 %cmp = icmp eq i64 %a, %b 1767 %cmp = icmp eq i64 %a, %b
1592 %cmp.ret_ext = zext i1 %cmp to i32 1768 %cmp.ret_ext = zext i1 %cmp to i32
1593 ret i32 %cmp.ret_ext 1769 ret i32 %cmp.ret_ext
1594 } 1770 }
1595 ; CHECK-LABEL: icmpEq64Bool 1771 ; CHECK-LABEL: icmpEq64Bool
1596 ; CHECK: jne 1772 ; CHECK: jne
1597 ; CHECK: je 1773 ; CHECK: je
1598 ; 1774 ;
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
2229 %s = lshr i64 %a, 40 2405 %s = lshr i64 %a, 40
2230 %t = trunc i64 %s to i32 2406 %t = trunc i64 %s to i32
2231 %r = sub i32 %t, 1 2407 %r = sub i32 %t, 1
2232 ret i32 %r 2408 ret i32 %r
2233 ; ARM32-LABEL: subOneToUpperAfterShift 2409 ; ARM32-LABEL: subOneToUpperAfterShift
2234 ; ARM32: subs 2410 ; ARM32: subs
2235 ; ARM32: sbc 2411 ; ARM32: sbc
2236 ; ARM32: lsr 2412 ; ARM32: lsr
2237 ; ARM32: sub 2413 ; ARM32: sub
2238 } 2414 }
OLDNEW
« no previous file with comments | « src/IceTargetLoweringMIPS32.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698