1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

Add support for the signx instrution alias of SPARCv9.

llvm-svn: 244519
This commit is contained in:
Joerg Sonnenberger 2015-08-10 22:32:25 +00:00
parent f64a63c16f
commit d2510224dd
2 changed files with 14 additions and 0 deletions

View File

@ -450,3 +450,8 @@ def : InstAlias<"fcmpeq $rs1, $rs2", (V9FCMPEQ FCC0, QFPRegs:$rs1,
QFPRegs:$rs2)>,
Requires<[HasHardQuad]>;
// signx rd -> sra rd, %g0, rd
def : InstAlias<"signx $rd", (SRArr IntRegs:$rd, IntRegs:$rd, G0), 0>, Requires<[HasV9]>;
// signx reg, rd -> sra reg, %g0, rd
def : InstAlias<"signx $rs1, $rd", (SRArr IntRegs:$rd, IntRegs:$rs1, G0), 0>, Requires<[HasV9]>;

View File

@ -26,3 +26,12 @@
! V9: popc %g1, %g2 ! encoding: [0x85,0x70,0x00,0x01]
popc %g1, %g2
! V8: error: instruction requires a CPU feature not currently enabled
! V8-NEXT: signx %g1, %g2
! V9: sra %g1, %g0, %g2 ! encoding: [0x85,0x38,0x40,0x00]
signx %g1, %g2
! V8: error: instruction requires a CPU feature not currently enabled
! V8-NEXT: signx %g1
! V9: sra %g1, %g0, %g1 ! encoding: [0x83,0x38,0x40,0x00]
signx %g1