[llvm] 17897c9 - [RISCV][NFC] Add test case for accept hexadecimal floating-point for fli instructions

Kito Cheng via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 14 03:48:25 PDT 2023


Author: Kito Cheng
Date: 2023-04-14T18:48:17+08:00
New Revision: 17897c942699ec885fab43eaf9919e6d562b8896

URL: https://github.com/llvm/llvm-project/commit/17897c942699ec885fab43eaf9919e6d562b8896
DIFF: https://github.com/llvm/llvm-project/commit/17897c942699ec885fab43eaf9919e6d562b8896.diff

LOG: [RISCV][NFC] Add test case for accept hexadecimal floating-point for fli instructions

Zfa provide fli instruction to load a floating point immediate value,
and some of those are not easy to write and read by human, so
hexadecimal floating-point format should be a good alternative way to write:

Consider this case: 1^-16 = 1.52587890625e-05 (decimal) vs 0x1p-16 (hexadecimal)

The hexadecimal format is easier to write for human.

Fortunately hexadecimal floating-point constants already supported in
C99, so actually we don't need to add any extra code to support that.

This patch added test case for demonstrate we support that and also make
sure this will be supported in future.

I also gonna to talk with ISA folks to adding hexadecimal floating-point
to the ISA spec, so that user will know fli accept value in this format.

Reviewed By: asb

Differential Revision: https://reviews.llvm.org/D148077

Added: 
    

Modified: 
    llvm/test/MC/RISCV/zfa-valid.s

Removed: 
    


################################################################################
diff  --git a/llvm/test/MC/RISCV/zfa-valid.s b/llvm/test/MC/RISCV/zfa-valid.s
index 6892a7a5b0b0e..5207746570558 100644
--- a/llvm/test/MC/RISCV/zfa-valid.s
+++ b/llvm/test/MC/RISCV/zfa-valid.s
@@ -21,6 +21,11 @@
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, -1.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, -1.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x10,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, -0x1p+0
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, min
 # CHECK-ASM: encoding: [0xd3,0x80,0x10,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
@@ -31,141 +36,281 @@ fli.s ft1, min
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 1.52587890625e-05
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 1.52587890625e-05
+# CHECK-ASM: encoding: [0xd3,0x00,0x11,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p-16
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 3.0517578125e-05
 # CHECK-ASM: encoding: [0xd3,0x80,0x11,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 3.0517578125e-05
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 3.0517578125e-05
+# CHECK-ASM: encoding: [0xd3,0x80,0x11,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p-15
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.00390625
 # CHECK-ASM: encoding: [0xd3,0x00,0x12,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 3.906250e-03
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.00390625
+# CHECK-ASM: encoding: [0xd3,0x00,0x12,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p-8
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.0078125
 # CHECK-ASM: encoding: [0xd3,0x80,0x12,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 7.812500e-03
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.0078125
+# CHECK-ASM: encoding: [0xd3,0x80,0x12,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p-7
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.0625
 # CHECK-ASM: encoding: [0xd3,0x00,0x13,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 6.250000e-02
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.0625
+# CHECK-ASM: encoding: [0xd3,0x00,0x13,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p-4
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.125
 # CHECK-ASM: encoding: [0xd3,0x80,0x13,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 1.250000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.125
+# CHECK-ASM: encoding: [0xd3,0x80,0x13,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p-3
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.25
 # CHECK-ASM: encoding: [0xd3,0x00,0x14,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 2.500000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.25
+# CHECK-ASM: encoding: [0xd3,0x00,0x14,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p-2
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.3125
 # CHECK-ASM: encoding: [0xd3,0x80,0x14,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 3.125000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.3125
+# CHECK-ASM: encoding: [0xd3,0x80,0x14,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.4p-2
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.375
 # CHECK-ASM: encoding: [0xd3,0x00,0x15,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 3.750000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.375
+# CHECK-ASM: encoding: [0xd3,0x00,0x15,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.8p-2
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.4375
 # CHECK-ASM: encoding: [0xd3,0x80,0x15,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 4.375000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.4375
+# CHECK-ASM: encoding: [0xd3,0x80,0x15,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.cp-2
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.5
 # CHECK-ASM: encoding: [0xd3,0x00,0x16,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 5.000000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.5
+# CHECK-ASM: encoding: [0xd3,0x00,0x16,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p-1
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.625
 # CHECK-ASM: encoding: [0xd3,0x80,0x16,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 6.250000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.625
+# CHECK-ASM: encoding: [0xd3,0x80,0x16,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.4p-1
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.75
 # CHECK-ASM: encoding: [0xd3,0x00,0x17,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 7.500000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.75
+# CHECK-ASM: encoding: [0xd3,0x00,0x17,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.8p-1
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 0.875
 # CHECK-ASM: encoding: [0xd3,0x80,0x17,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 8.750000e-01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 0.875
+# CHECK-ASM: encoding: [0xd3,0x80,0x17,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.cp-1
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 1.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x18,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 1.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 1.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x18,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+0
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 1.25
 # CHECK-ASM: encoding: [0xd3,0x80,0x18,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 1.250000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 1.25
+# CHECK-ASM: encoding: [0xd3,0x80,0x18,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.4p+0
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 1.5
 # CHECK-ASM: encoding: [0xd3,0x00,0x19,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 1.500000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 1.5
+# CHECK-ASM: encoding: [0xd3,0x00,0x19,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.8p+0
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 1.75
 # CHECK-ASM: encoding: [0xd3,0x80,0x19,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 1.750000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 1.75
+# CHECK-ASM: encoding: [0xd3,0x80,0x19,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.cp+0
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 2.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1a,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 2.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 2.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1a,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+1
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 2.5
 # CHECK-ASM: encoding: [0xd3,0x80,0x1a,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 2.500000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 2.5
+# CHECK-ASM: encoding: [0xd3,0x80,0x1a,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.4p+1
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 3.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1b,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 3.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 3.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1b,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1.8p+1
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 4.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1b,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 4.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 4.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1b,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+2
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 8.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1c,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 8.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 8.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1c,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+3
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 16.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1c,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 1.600000e+01
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 16.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1c,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+4
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 128.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1d,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 1.280000e+02
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 128.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1d,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+7
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 256.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1d,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 2.560000e+02
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 256.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1d,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+8
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 32768.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1e,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 3.276800e+04
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 32768.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1e,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+15
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, 65536.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1e,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.s ft1, 6.553600e+04
 
+# CHECK-ASM-AND-OBJ: fli.s ft1, 65536.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1e,0xf0]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.s ft1, 0x1p+16
+
 # CHECK-ASM-AND-OBJ: fli.s ft1, inf
 # CHECK-ASM: encoding: [0xd3,0x00,0x1f,0xf0]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
@@ -181,6 +326,11 @@ fli.s ft1, nan
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, -1.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, -1.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x10,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, -0x1p+0
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, min
 # CHECK-ASM: encoding: [0xd3,0x80,0x10,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
@@ -191,141 +341,283 @@ fli.d ft1, min
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 1.52587890625e-05
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 1.52587890625e-05
+# CHECK-ASM: encoding: [0xd3,0x00,0x11,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p-16
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 3.0517578125e-05
 # CHECK-ASM: encoding: [0xd3,0x80,0x11,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 3.0517578125e-05
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 3.0517578125e-05
+# CHECK-ASM: encoding: [0xd3,0x80,0x11,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p-15
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.00390625
 # CHECK-ASM: encoding: [0xd3,0x00,0x12,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 3.906250e-03
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.00390625
+# CHECK-ASM: encoding: [0xd3,0x00,0x12,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p-8
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.0078125
 # CHECK-ASM: encoding: [0xd3,0x80,0x12,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 7.812500e-03
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.0078125
+# CHECK-ASM: encoding: [0xd3,0x80,0x12,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p-7
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.0625
 # CHECK-ASM: encoding: [0xd3,0x00,0x13,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 6.250000e-02
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.0625
+# CHECK-ASM: encoding: [0xd3,0x00,0x13,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p-4
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.125
 # CHECK-ASM: encoding: [0xd3,0x80,0x13,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 1.250000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.125
+# CHECK-ASM: encoding: [0xd3,0x80,0x13,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p-3
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.25
 # CHECK-ASM: encoding: [0xd3,0x00,0x14,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 2.500000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.25
+# CHECK-ASM: encoding: [0xd3,0x00,0x14,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p-2
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.3125
 # CHECK-ASM: encoding: [0xd3,0x80,0x14,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 3.125000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.3125
+# CHECK-ASM: encoding: [0xd3,0x80,0x14,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.4p-2
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.375
 # CHECK-ASM: encoding: [0xd3,0x00,0x15,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 3.750000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.375
+# CHECK-ASM: encoding: [0xd3,0x00,0x15,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.8p-2
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.4375
 # CHECK-ASM: encoding: [0xd3,0x80,0x15,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 4.375000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.4375
+# CHECK-ASM: encoding: [0xd3,0x80,0x15,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.cp-2
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.5
 # CHECK-ASM: encoding: [0xd3,0x00,0x16,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 5.000000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.5
+# CHECK-ASM: encoding: [0xd3,0x00,0x16,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p-1
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.625
 # CHECK-ASM: encoding: [0xd3,0x80,0x16,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 6.250000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.625
+# CHECK-ASM: encoding: [0xd3,0x80,0x16,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.4p-1
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.75
 # CHECK-ASM: encoding: [0xd3,0x00,0x17,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 7.500000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.75
+# CHECK-ASM: encoding: [0xd3,0x00,0x17,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.8p-1
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 0.875
 # CHECK-ASM: encoding: [0xd3,0x80,0x17,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 8.750000e-01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 0.875
+# CHECK-ASM: encoding: [0xd3,0x80,0x17,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.cp-1
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 1.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x18,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 1.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 1.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x18,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+0
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 1.25
 # CHECK-ASM: encoding: [0xd3,0x80,0x18,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 1.250000e+00
 
+
+# CHECK-ASM-AND-OBJ: fli.d ft1, 1.25
+# CHECK-ASM: encoding: [0xd3,0x80,0x18,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.4p+0
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 1.5
 # CHECK-ASM: encoding: [0xd3,0x00,0x19,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 1.500000e+00
 
+
+# CHECK-ASM-AND-OBJ: fli.d ft1, 1.5
+# CHECK-ASM: encoding: [0xd3,0x00,0x19,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.8p+0
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 1.75
 # CHECK-ASM: encoding: [0xd3,0x80,0x19,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 1.750000e+00
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 1.75
+# CHECK-ASM: encoding: [0xd3,0x80,0x19,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.cp+0
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 2.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1a,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 2.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 2.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1a,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+1
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 2.5
 # CHECK-ASM: encoding: [0xd3,0x80,0x1a,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 2.500000e+00
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 2.5
+# CHECK-ASM: encoding: [0xd3,0x80,0x1a,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.4p+1
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 3.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1b,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 3.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 3.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1b,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1.8p+1
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 4.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1b,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 4.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 4.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1b,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+2
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 8.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1c,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 8.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 8.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1c,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+3
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 16.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1c,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 1.600000e+01
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 16.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1c,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+4
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 128.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1d,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 1.280000e+02
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 128.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1d,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+7
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 256.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1d,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 2.560000e+02
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 256.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1d,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+8
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 32768.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1e,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 3.276800e+04
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 32768.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1e,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+15
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, 65536.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1e,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.d ft1, 6.553600e+04
 
+# CHECK-ASM-AND-OBJ: fli.d ft1, 65536.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1e,0xf2]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.d ft1, 0x1p+16
+
 # CHECK-ASM-AND-OBJ: fli.d ft1, inf
 # CHECK-ASM: encoding: [0xd3,0x00,0x1f,0xf2]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
@@ -341,6 +633,11 @@ fli.d ft1, nan
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, -1.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, -1.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x10,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, -0x1p+0
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, min
 # CHECK-ASM: encoding: [0xd3,0x80,0x10,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
@@ -351,141 +648,281 @@ fli.h ft1, min
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 1.52587890625e-05
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 1.52587890625e-05
+# CHECK-ASM: encoding: [0xd3,0x00,0x11,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p-16
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 3.0517578125e-05
 # CHECK-ASM: encoding: [0xd3,0x80,0x11,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 3.0517578125e-05
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 3.0517578125e-05
+# CHECK-ASM: encoding: [0xd3,0x80,0x11,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p-15
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.00390625
 # CHECK-ASM: encoding: [0xd3,0x00,0x12,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 3.906250e-03
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.00390625
+# CHECK-ASM: encoding: [0xd3,0x00,0x12,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p-8
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.0078125
 # CHECK-ASM: encoding: [0xd3,0x80,0x12,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 7.812500e-03
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.0078125
+# CHECK-ASM: encoding: [0xd3,0x80,0x12,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p-7
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.0625
 # CHECK-ASM: encoding: [0xd3,0x00,0x13,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 6.250000e-02
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.0625
+# CHECK-ASM: encoding: [0xd3,0x00,0x13,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p-4
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.125
 # CHECK-ASM: encoding: [0xd3,0x80,0x13,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 1.250000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.125
+# CHECK-ASM: encoding: [0xd3,0x80,0x13,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p-3
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.25
 # CHECK-ASM: encoding: [0xd3,0x00,0x14,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 2.500000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.25
+# CHECK-ASM: encoding: [0xd3,0x00,0x14,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p-2
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.3125
 # CHECK-ASM: encoding: [0xd3,0x80,0x14,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 3.125000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.3125
+# CHECK-ASM: encoding: [0xd3,0x80,0x14,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.4p-2
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.375
 # CHECK-ASM: encoding: [0xd3,0x00,0x15,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 3.750000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.375
+# CHECK-ASM: encoding: [0xd3,0x00,0x15,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.8p-2
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.4375
 # CHECK-ASM: encoding: [0xd3,0x80,0x15,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 4.375000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.4375
+# CHECK-ASM: encoding: [0xd3,0x80,0x15,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.cp-2
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.5
 # CHECK-ASM: encoding: [0xd3,0x00,0x16,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 5.000000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.5
+# CHECK-ASM: encoding: [0xd3,0x00,0x16,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p-1
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.625
 # CHECK-ASM: encoding: [0xd3,0x80,0x16,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 6.250000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.625
+# CHECK-ASM: encoding: [0xd3,0x80,0x16,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.4p-1
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.75
 # CHECK-ASM: encoding: [0xd3,0x00,0x17,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 7.500000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.75
+# CHECK-ASM: encoding: [0xd3,0x00,0x17,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.8p-1
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 0.875
 # CHECK-ASM: encoding: [0xd3,0x80,0x17,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 8.750000e-01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 0.875
+# CHECK-ASM: encoding: [0xd3,0x80,0x17,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.cp-1
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 1.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x18,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 1.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 1.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x18,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+0
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 1.25
 # CHECK-ASM: encoding: [0xd3,0x80,0x18,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 1.250000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 1.25
+# CHECK-ASM: encoding: [0xd3,0x80,0x18,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.4p+0
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 1.5
 # CHECK-ASM: encoding: [0xd3,0x00,0x19,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 1.500000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 1.5
+# CHECK-ASM: encoding: [0xd3,0x00,0x19,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.8p+0
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 1.75
 # CHECK-ASM: encoding: [0xd3,0x80,0x19,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 1.750000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 1.75
+# CHECK-ASM: encoding: [0xd3,0x80,0x19,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.cp+0
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 2.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1a,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 2.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 2.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1a,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+1
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 2.5
 # CHECK-ASM: encoding: [0xd3,0x80,0x1a,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 2.500000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 2.5
+# CHECK-ASM: encoding: [0xd3,0x80,0x1a,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.4p+1
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 3.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1b,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 3.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 3.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1b,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1.8p+1
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 4.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1b,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 4.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 4.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1b,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+2
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 8.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1c,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 8.000000e+00
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 8.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1c,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+3
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 16.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1c,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 1.600000e+01
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 16.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1c,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+4
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 128.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1d,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 1.280000e+02
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 128.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1d,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+7
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 256.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1d,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 2.560000e+02
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 256.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1d,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+8
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 32768.0
 # CHECK-ASM: encoding: [0xd3,0x00,0x1e,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 3.276800e+04
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 32768.0
+# CHECK-ASM: encoding: [0xd3,0x00,0x1e,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+15
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, 65536.0
 # CHECK-ASM: encoding: [0xd3,0x80,0x1e,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
 fli.h ft1, 6.553600e+04
 
+# CHECK-ASM-AND-OBJ: fli.h ft1, 65536.0
+# CHECK-ASM: encoding: [0xd3,0x80,0x1e,0xf4]
+# CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}
+fli.h ft1, 0x1p+16
+
 # CHECK-ASM-AND-OBJ: fli.h ft1, inf
 # CHECK-ASM: encoding: [0xd3,0x00,0x1f,0xf4]
 # CHECK-NO-EXT: error: instruction requires the following: 'Zfa' (Additional Floating-Point){{$}}


        


More information about the llvm-commits mailing list