diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2016-11-08 20:18:41 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2016-11-08 20:18:41 +0000 |
commit | 05effca2d8b78216e054e37cecd46bedb92c97fd (patch) | |
tree | 9c96a70b341dd40361b7238ef83ecb4fd09206fd /llvm/test/MC/SystemZ | |
parent | 4006e09d1d0e910e1379718ba38a9a052b86b852 (diff) | |
download | bcm5719-llvm-05effca2d8b78216e054e37cecd46bedb92c97fd.tar.gz bcm5719-llvm-05effca2d8b78216e054e37cecd46bedb92c97fd.zip |
[SystemZ] Add missing FP extension instructions
This completes assembler / disassembler support for all BFP
instructions provided by the floating-point extensions facility.
The instructions added here are not currently used for codegen.
llvm-svn: 286285
Diffstat (limited to 'llvm/test/MC/SystemZ')
-rw-r--r-- | llvm/test/MC/SystemZ/insn-bad-z196.s | 180 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-bad.s | 58 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-good-z196.s | 168 |
3 files changed, 406 insertions, 0 deletions
diff --git a/llvm/test/MC/SystemZ/insn-bad-z196.s b/llvm/test/MC/SystemZ/insn-bad-z196.s index b329d84da28..b2c37e172a8 100644 --- a/llvm/test/MC/SystemZ/insn-bad-z196.s +++ b/llvm/test/MC/SystemZ/insn-bad-z196.s @@ -35,6 +35,34 @@ aih %r0, (1 << 31) #CHECK: error: invalid operand +#CHECK: cdfbra %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cdfbra %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cdfbra %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cdfbra %f0, 16, %r0, 0 + + cdfbra %f0, 0, %r0, -1 + cdfbra %f0, 0, %r0, 16 + cdfbra %f0, -1, %r0, 0 + cdfbra %f0, 16, %r0, 0 + +#CHECK: error: invalid operand +#CHECK: cdgbra %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cdgbra %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cdgbra %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cdgbra %f0, 16, %r0, 0 + + cdgbra %f0, 0, %r0, -1 + cdgbra %f0, 0, %r0, 16 + cdgbra %f0, -1, %r0, 0 + cdgbra %f0, 16, %r0, 0 + +#CHECK: error: invalid operand #CHECK: cdlfbr %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cdlfbr %f0, 0, %r0, 16 @@ -63,6 +91,34 @@ cdlgbr %f0, 16, %r0, 0 #CHECK: error: invalid operand +#CHECK: cefbra %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cefbra %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cefbra %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cefbra %f0, 16, %r0, 0 + + cefbra %f0, 0, %r0, -1 + cefbra %f0, 0, %r0, 16 + cefbra %f0, -1, %r0, 0 + cefbra %f0, 16, %r0, 0 + +#CHECK: error: invalid operand +#CHECK: cegbra %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cegbra %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cegbra %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cegbra %f0, 16, %r0, 0 + + cegbra %f0, 0, %r0, -1 + cegbra %f0, 0, %r0, 16 + cegbra %f0, -1, %r0, 0 + cegbra %f0, 16, %r0, 0 + +#CHECK: error: invalid operand #CHECK: celfbr %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: celfbr %f0, 0, %r0, 16 @@ -91,6 +147,96 @@ celgbr %f0, 16, %r0, 0 #CHECK: error: invalid operand +#CHECK: cfdbra %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cfdbra %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cfdbra %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cfdbra %r0, 16, %f0, 0 + + cfdbra %r0, 0, %f0, -1 + cfdbra %r0, 0, %f0, 16 + cfdbra %r0, -1, %f0, 0 + cfdbra %r0, 16, %f0, 0 + +#CHECK: error: invalid operand +#CHECK: cfebra %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cfebra %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cfebra %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cfebra %r0, 16, %f0, 0 + + cfebra %r0, 0, %f0, -1 + cfebra %r0, 0, %f0, 16 + cfebra %r0, -1, %f0, 0 + cfebra %r0, 16, %f0, 0 + +#CHECK: error: invalid operand +#CHECK: cfxbra %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cfxbra %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cfxbra %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cfxbra %r0, 16, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: cfxbra %r0, 0, %f14, 0 + + cfxbra %r0, 0, %f0, -1 + cfxbra %r0, 0, %f0, 16 + cfxbra %r0, -1, %f0, 0 + cfxbra %r0, 16, %f0, 0 + cfxbra %r0, 0, %f14, 0 + +#CHECK: error: invalid operand +#CHECK: cgdbra %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cgdbra %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cgdbra %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cgdbra %r0, 16, %f0, 0 + + cgdbra %r0, 0, %f0, -1 + cgdbra %r0, 0, %f0, 16 + cgdbra %r0, -1, %f0, 0 + cgdbra %r0, 16, %f0, 0 + +#CHECK: error: invalid operand +#CHECK: cgebra %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cgebra %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cgebra %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cgebra %r0, 16, %f0, 0 + + cgebra %r0, 0, %f0, -1 + cgebra %r0, 0, %f0, 16 + cgebra %r0, -1, %f0, 0 + cgebra %r0, 16, %f0, 0 + +#CHECK: error: invalid operand +#CHECK: cgxbra %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cgxbra %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cgxbra %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cgxbra %r0, 16, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: cgxbra %r0, 0, %f14, 0 + + cgxbra %r0, 0, %f0, -1 + cgxbra %r0, 0, %f0, 16 + cgxbra %r0, -1, %f0, 0 + cgxbra %r0, 16, %f0, 0 + cgxbra %r0, 0, %f14, 0 + +#CHECK: error: invalid operand #CHECK: chf %r0, -524289 #CHECK: error: invalid operand #CHECK: chf %r0, 524288 @@ -213,6 +359,40 @@ clih %r0, (1 << 32) #CHECK: error: invalid operand +#CHECK: cxfbra %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cxfbra %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cxfbra %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cxfbra %f0, 16, %r0, 0 +#CHECK: error: invalid register pair +#CHECK: cxfbra %f2, 0, %r0, 0 + + cxfbra %f0, 0, %r0, -1 + cxfbra %f0, 0, %r0, 16 + cxfbra %f0, -1, %r0, 0 + cxfbra %f0, 16, %r0, 0 + cxfbra %f2, 0, %r0, 0 + +#CHECK: error: invalid operand +#CHECK: cxgbra %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cxgbra %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cxgbra %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cxgbra %f0, 16, %r0, 0 +#CHECK: error: invalid register pair +#CHECK: cxgbra %f2, 0, %r0, 0 + + cxgbra %f0, 0, %r0, -1 + cxgbra %f0, 0, %r0, 16 + cxgbra %f0, -1, %r0, 0 + cxgbra %f0, 16, %r0, 0 + cxgbra %f2, 0, %r0, 0 + +#CHECK: error: invalid operand #CHECK: cxlfbr %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cxlfbr %f0, 0, %r0, 16 diff --git a/llvm/test/MC/SystemZ/insn-bad.s b/llvm/test/MC/SystemZ/insn-bad.s index c5b1991a9d9..49b4a0b8233 100644 --- a/llvm/test/MC/SystemZ/insn-bad.s +++ b/llvm/test/MC/SystemZ/insn-bad.s @@ -447,6 +447,16 @@ cdb %f0, 4096 #CHECK: error: instruction requires: fp-extension +#CHECK: cdfbra %f0, 0, %r0, 0 + + cdfbra %f0, 0, %r0, 0 + +#CHECK: error: instruction requires: fp-extension +#CHECK: cdgbra %f0, 0, %r0, 0 + + cdgbra %f0, 0, %r0, 0 + +#CHECK: error: instruction requires: fp-extension #CHECK: cdlfbr %f0, 0, %r0, 0 cdlfbr %f0, 0, %r0, 0 @@ -465,6 +475,16 @@ ceb %f0, 4096 #CHECK: error: instruction requires: fp-extension +#CHECK: cefbra %f0, 0, %r0, 0 + + cefbra %f0, 0, %r0, 0 + +#CHECK: error: instruction requires: fp-extension +#CHECK: cegbra %f0, 0, %r0, 0 + + cegbra %f0, 0, %r0, 0 + +#CHECK: error: instruction requires: fp-extension #CHECK: celfbr %f0, 0, %r0, 0 celfbr %f0, 0, %r0, 0 @@ -482,6 +502,11 @@ cfdbr %r0, -1, %f0 cfdbr %r0, 16, %f0 +#CHECK: error: instruction requires: fp-extension +#CHECK: cfdbra %r0, 0, %f0, 0 + + cfdbra %r0, 0, %f0, 0 + #CHECK: error: invalid operand #CHECK: cfebr %r0, -1, %f0 #CHECK: error: invalid operand @@ -490,6 +515,11 @@ cfebr %r0, -1, %f0 cfebr %r0, 16, %f0 +#CHECK: error: instruction requires: fp-extension +#CHECK: cfebra %r0, 0, %f0, 0 + + cfebra %r0, 0, %f0, 0 + #CHECK: error: invalid operand #CHECK: cfi %r0, (-1 << 31) - 1 #CHECK: error: invalid operand @@ -509,6 +539,10 @@ cfxbr %r0, 16, %f0 cfxbr %r0, 0, %f2 +#CHECK: error: instruction requires: fp-extension +#CHECK: cfxbra %r0, 0, %f0, 0 + + cfxbra %r0, 0, %f0, 0 #CHECK: error: invalid operand #CHECK: cg %r0, -524289 @@ -526,6 +560,11 @@ cgdbr %r0, -1, %f0 cgdbr %r0, 16, %f0 +#CHECK: error: instruction requires: fp-extension +#CHECK: cgdbra %r0, 0, %f0, 0 + + cgdbra %r0, 0, %f0, 0 + #CHECK: error: invalid operand #CHECK: cgebr %r0, -1, %f0 #CHECK: error: invalid operand @@ -534,6 +573,11 @@ cgebr %r0, -1, %f0 cgebr %r0, 16, %f0 +#CHECK: error: instruction requires: fp-extension +#CHECK: cgebra %r0, 0, %f0, 0 + + cgebra %r0, 0, %f0, 0 + #CHECK: error: invalid operand #CHECK: cgf %r0, -524289 #CHECK: error: invalid operand @@ -713,6 +757,10 @@ cgxbr %r0, 16, %f0 cgxbr %r0, 0, %f2 +#CHECK: error: instruction requires: fp-extension +#CHECK: cgxbra %r0, 0, %f0, 0 + + cgxbra %r0, 0, %f0, 0 #CHECK: error: invalid operand #CHECK: ch %r0, -1 @@ -1360,12 +1408,22 @@ cxfbr %f2, %r0 +#CHECK: error: instruction requires: fp-extension +#CHECK: cxfbra %f0, 0, %r0, 0 + + cxfbra %f0, 0, %r0, 0 + #CHECK: error: invalid register pair #CHECK: cxgbr %f2, %r0 cxgbr %f2, %r0 #CHECK: error: instruction requires: fp-extension +#CHECK: cxgbra %f0, 0, %r0, 0 + + cxgbra %f0, 0, %r0, 0 + +#CHECK: error: instruction requires: fp-extension #CHECK: cxlfbr %f0, 0, %r0, 0 cxlfbr %f0, 0, %r0, 0 diff --git a/llvm/test/MC/SystemZ/insn-good-z196.s b/llvm/test/MC/SystemZ/insn-good-z196.s index 0ba68c8d010..5ac80156ecf 100644 --- a/llvm/test/MC/SystemZ/insn-good-z196.s +++ b/llvm/test/MC/SystemZ/insn-good-z196.s @@ -136,6 +136,34 @@ ark %r15,%r0,%r0 ark %r7,%r8,%r9 +#CHECK: cdfbra %f0, 0, %r0, 0 # encoding: [0xb3,0x95,0x00,0x00] +#CHECK: cdfbra %f0, 0, %r0, 15 # encoding: [0xb3,0x95,0x0f,0x00] +#CHECK: cdfbra %f0, 0, %r15, 0 # encoding: [0xb3,0x95,0x00,0x0f] +#CHECK: cdfbra %f0, 15, %r0, 0 # encoding: [0xb3,0x95,0xf0,0x00] +#CHECK: cdfbra %f4, 5, %r6, 7 # encoding: [0xb3,0x95,0x57,0x46] +#CHECK: cdfbra %f15, 0, %r0, 0 # encoding: [0xb3,0x95,0x00,0xf0] + + cdfbra %f0, 0, %r0, 0 + cdfbra %f0, 0, %r0, 15 + cdfbra %f0, 0, %r15, 0 + cdfbra %f0, 15, %r0, 0 + cdfbra %f4, 5, %r6, 7 + cdfbra %f15, 0, %r0, 0 + +#CHECK: cdgbra %f0, 0, %r0, 0 # encoding: [0xb3,0xa5,0x00,0x00] +#CHECK: cdgbra %f0, 0, %r0, 15 # encoding: [0xb3,0xa5,0x0f,0x00] +#CHECK: cdgbra %f0, 0, %r15, 0 # encoding: [0xb3,0xa5,0x00,0x0f] +#CHECK: cdgbra %f0, 15, %r0, 0 # encoding: [0xb3,0xa5,0xf0,0x00] +#CHECK: cdgbra %f4, 5, %r6, 7 # encoding: [0xb3,0xa5,0x57,0x46] +#CHECK: cdgbra %f15, 0, %r0, 0 # encoding: [0xb3,0xa5,0x00,0xf0] + + cdgbra %f0, 0, %r0, 0 + cdgbra %f0, 0, %r0, 15 + cdgbra %f0, 0, %r15, 0 + cdgbra %f0, 15, %r0, 0 + cdgbra %f4, 5, %r6, 7 + cdgbra %f15, 0, %r0, 0 + #CHECK: cdlfbr %f0, 0, %r0, 0 # encoding: [0xb3,0x91,0x00,0x00] #CHECK: cdlfbr %f0, 0, %r0, 15 # encoding: [0xb3,0x91,0x0f,0x00] #CHECK: cdlfbr %f0, 0, %r15, 0 # encoding: [0xb3,0x91,0x00,0x0f] @@ -164,6 +192,34 @@ cdlgbr %f4, 5, %r6, 7 cdlgbr %f15, 0, %r0, 0 +#CHECK: cefbra %f0, 0, %r0, 0 # encoding: [0xb3,0x94,0x00,0x00] +#CHECK: cefbra %f0, 0, %r0, 15 # encoding: [0xb3,0x94,0x0f,0x00] +#CHECK: cefbra %f0, 0, %r15, 0 # encoding: [0xb3,0x94,0x00,0x0f] +#CHECK: cefbra %f0, 15, %r0, 0 # encoding: [0xb3,0x94,0xf0,0x00] +#CHECK: cefbra %f4, 5, %r6, 7 # encoding: [0xb3,0x94,0x57,0x46] +#CHECK: cefbra %f15, 0, %r0, 0 # encoding: [0xb3,0x94,0x00,0xf0] + + cefbra %f0, 0, %r0, 0 + cefbra %f0, 0, %r0, 15 + cefbra %f0, 0, %r15, 0 + cefbra %f0, 15, %r0, 0 + cefbra %f4, 5, %r6, 7 + cefbra %f15, 0, %r0, 0 + +#CHECK: cegbra %f0, 0, %r0, 0 # encoding: [0xb3,0xa4,0x00,0x00] +#CHECK: cegbra %f0, 0, %r0, 15 # encoding: [0xb3,0xa4,0x0f,0x00] +#CHECK: cegbra %f0, 0, %r15, 0 # encoding: [0xb3,0xa4,0x00,0x0f] +#CHECK: cegbra %f0, 15, %r0, 0 # encoding: [0xb3,0xa4,0xf0,0x00] +#CHECK: cegbra %f4, 5, %r6, 7 # encoding: [0xb3,0xa4,0x57,0x46] +#CHECK: cegbra %f15, 0, %r0, 0 # encoding: [0xb3,0xa4,0x00,0xf0] + + cegbra %f0, 0, %r0, 0 + cegbra %f0, 0, %r0, 15 + cegbra %f0, 0, %r15, 0 + cegbra %f0, 15, %r0, 0 + cegbra %f4, 5, %r6, 7 + cegbra %f15, 0, %r0, 0 + #CHECK: celfbr %f0, 0, %r0, 0 # encoding: [0xb3,0x90,0x00,0x00] #CHECK: celfbr %f0, 0, %r0, 15 # encoding: [0xb3,0x90,0x0f,0x00] #CHECK: celfbr %f0, 0, %r15, 0 # encoding: [0xb3,0x90,0x00,0x0f] @@ -192,6 +248,90 @@ celgbr %f4, 5, %r6, 7 celgbr %f15, 0, %r0, 0 +#CHECK: cfdbra %r0, 0, %f0, 0 # encoding: [0xb3,0x99,0x00,0x00] +#CHECK: cfdbra %r0, 0, %f0, 15 # encoding: [0xb3,0x99,0x0f,0x00] +#CHECK: cfdbra %r0, 0, %f15, 0 # encoding: [0xb3,0x99,0x00,0x0f] +#CHECK: cfdbra %r0, 15, %f0, 0 # encoding: [0xb3,0x99,0xf0,0x00] +#CHECK: cfdbra %r4, 5, %f6, 7 # encoding: [0xb3,0x99,0x57,0x46] +#CHECK: cfdbra %r15, 0, %f0, 0 # encoding: [0xb3,0x99,0x00,0xf0] + + cfdbra %r0, 0, %f0, 0 + cfdbra %r0, 0, %f0, 15 + cfdbra %r0, 0, %f15, 0 + cfdbra %r0, 15, %f0, 0 + cfdbra %r4, 5, %f6, 7 + cfdbra %r15, 0, %f0, 0 + +#CHECK: cfebra %r0, 0, %f0, 0 # encoding: [0xb3,0x98,0x00,0x00] +#CHECK: cfebra %r0, 0, %f0, 15 # encoding: [0xb3,0x98,0x0f,0x00] +#CHECK: cfebra %r0, 0, %f15, 0 # encoding: [0xb3,0x98,0x00,0x0f] +#CHECK: cfebra %r0, 15, %f0, 0 # encoding: [0xb3,0x98,0xf0,0x00] +#CHECK: cfebra %r4, 5, %f6, 7 # encoding: [0xb3,0x98,0x57,0x46] +#CHECK: cfebra %r15, 0, %f0, 0 # encoding: [0xb3,0x98,0x00,0xf0] + + cfebra %r0, 0, %f0, 0 + cfebra %r0, 0, %f0, 15 + cfebra %r0, 0, %f15, 0 + cfebra %r0, 15, %f0, 0 + cfebra %r4, 5, %f6, 7 + cfebra %r15, 0, %f0, 0 + +#CHECK: cfxbra %r0, 0, %f0, 0 # encoding: [0xb3,0x9a,0x00,0x00] +#CHECK: cfxbra %r0, 0, %f0, 15 # encoding: [0xb3,0x9a,0x0f,0x00] +#CHECK: cfxbra %r0, 0, %f13, 0 # encoding: [0xb3,0x9a,0x00,0x0d] +#CHECK: cfxbra %r0, 15, %f0, 0 # encoding: [0xb3,0x9a,0xf0,0x00] +#CHECK: cfxbra %r7, 5, %f8, 9 # encoding: [0xb3,0x9a,0x59,0x78] +#CHECK: cfxbra %r15, 0, %f0, 0 # encoding: [0xb3,0x9a,0x00,0xf0] + + cfxbra %r0, 0, %f0, 0 + cfxbra %r0, 0, %f0, 15 + cfxbra %r0, 0, %f13, 0 + cfxbra %r0, 15, %f0, 0 + cfxbra %r7, 5, %f8, 9 + cfxbra %r15, 0, %f0, 0 + +#CHECK: cgdbra %r0, 0, %f0, 0 # encoding: [0xb3,0xa9,0x00,0x00] +#CHECK: cgdbra %r0, 0, %f0, 15 # encoding: [0xb3,0xa9,0x0f,0x00] +#CHECK: cgdbra %r0, 0, %f15, 0 # encoding: [0xb3,0xa9,0x00,0x0f] +#CHECK: cgdbra %r0, 15, %f0, 0 # encoding: [0xb3,0xa9,0xf0,0x00] +#CHECK: cgdbra %r4, 5, %f6, 7 # encoding: [0xb3,0xa9,0x57,0x46] +#CHECK: cgdbra %r15, 0, %f0, 0 # encoding: [0xb3,0xa9,0x00,0xf0] + + cgdbra %r0, 0, %f0, 0 + cgdbra %r0, 0, %f0, 15 + cgdbra %r0, 0, %f15, 0 + cgdbra %r0, 15, %f0, 0 + cgdbra %r4, 5, %f6, 7 + cgdbra %r15, 0, %f0, 0 + +#CHECK: cgebra %r0, 0, %f0, 0 # encoding: [0xb3,0xa8,0x00,0x00] +#CHECK: cgebra %r0, 0, %f0, 15 # encoding: [0xb3,0xa8,0x0f,0x00] +#CHECK: cgebra %r0, 0, %f15, 0 # encoding: [0xb3,0xa8,0x00,0x0f] +#CHECK: cgebra %r0, 15, %f0, 0 # encoding: [0xb3,0xa8,0xf0,0x00] +#CHECK: cgebra %r4, 5, %f6, 7 # encoding: [0xb3,0xa8,0x57,0x46] +#CHECK: cgebra %r15, 0, %f0, 0 # encoding: [0xb3,0xa8,0x00,0xf0] + + cgebra %r0, 0, %f0, 0 + cgebra %r0, 0, %f0, 15 + cgebra %r0, 0, %f15, 0 + cgebra %r0, 15, %f0, 0 + cgebra %r4, 5, %f6, 7 + cgebra %r15, 0, %f0, 0 + +#CHECK: cgxbra %r0, 0, %f0, 0 # encoding: [0xb3,0xaa,0x00,0x00] +#CHECK: cgxbra %r0, 0, %f0, 15 # encoding: [0xb3,0xaa,0x0f,0x00] +#CHECK: cgxbra %r0, 0, %f13, 0 # encoding: [0xb3,0xaa,0x00,0x0d] +#CHECK: cgxbra %r0, 15, %f0, 0 # encoding: [0xb3,0xaa,0xf0,0x00] +#CHECK: cgxbra %r7, 5, %f8, 9 # encoding: [0xb3,0xaa,0x59,0x78] +#CHECK: cgxbra %r15, 0, %f0, 0 # encoding: [0xb3,0xaa,0x00,0xf0] + + cgxbra %r0, 0, %f0, 0 + cgxbra %r0, 0, %f0, 15 + cgxbra %r0, 0, %f13, 0 + cgxbra %r0, 15, %f0, 0 + cgxbra %r7, 5, %f8, 9 + cgxbra %r15, 0, %f0, 0 + #CHECK: chf %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0xcd] #CHECK: chf %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xcd] #CHECK: chf %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0xcd] @@ -344,6 +484,34 @@ clih %r0, (1 << 32) - 1 clih %r15, 0 +#CHECK: cxfbra %f0, 0, %r0, 0 # encoding: [0xb3,0x96,0x00,0x00] +#CHECK: cxfbra %f0, 0, %r0, 15 # encoding: [0xb3,0x96,0x0f,0x00] +#CHECK: cxfbra %f0, 0, %r15, 0 # encoding: [0xb3,0x96,0x00,0x0f] +#CHECK: cxfbra %f0, 15, %r0, 0 # encoding: [0xb3,0x96,0xf0,0x00] +#CHECK: cxfbra %f4, 5, %r9, 10 # encoding: [0xb3,0x96,0x5a,0x49] +#CHECK: cxfbra %f13, 0, %r0, 0 # encoding: [0xb3,0x96,0x00,0xd0] + + cxfbra %f0, 0, %r0, 0 + cxfbra %f0, 0, %r0, 15 + cxfbra %f0, 0, %r15, 0 + cxfbra %f0, 15, %r0, 0 + cxfbra %f4, 5, %r9, 10 + cxfbra %f13, 0, %r0, 0 + +#CHECK: cxgbra %f0, 0, %r0, 0 # encoding: [0xb3,0xa6,0x00,0x00] +#CHECK: cxgbra %f0, 0, %r0, 15 # encoding: [0xb3,0xa6,0x0f,0x00] +#CHECK: cxgbra %f0, 0, %r15, 0 # encoding: [0xb3,0xa6,0x00,0x0f] +#CHECK: cxgbra %f0, 15, %r0, 0 # encoding: [0xb3,0xa6,0xf0,0x00] +#CHECK: cxgbra %f4, 5, %r9, 10 # encoding: [0xb3,0xa6,0x5a,0x49] +#CHECK: cxgbra %f13, 0, %r0, 0 # encoding: [0xb3,0xa6,0x00,0xd0] + + cxgbra %f0, 0, %r0, 0 + cxgbra %f0, 0, %r0, 15 + cxgbra %f0, 0, %r15, 0 + cxgbra %f0, 15, %r0, 0 + cxgbra %f4, 5, %r9, 10 + cxgbra %f13, 0, %r0, 0 + #CHECK: cxlfbr %f0, 0, %r0, 0 # encoding: [0xb3,0x92,0x00,0x00] #CHECK: cxlfbr %f0, 0, %r0, 15 # encoding: [0xb3,0x92,0x0f,0x00] #CHECK: cxlfbr %f0, 0, %r15, 0 # encoding: [0xb3,0x92,0x00,0x0f] |