Revert "[LSR] Generate and use zero extends"
[oota-llvm.git] / test / MC / Disassembler / Hexagon / xtype_fp.txt
index d41e9ac1c1c96fd9d467a4d85ee89a6cfa4958e7..70074208edadadd2129834d601fba99d218ce513 100644 (file)
@@ -1,7 +1,17 @@
-# RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
+# RUN: llvm-mc -triple=hexagon -disassemble < %s | FileCheck %s
+# Hexagon Programmer's Reference Manual 11.10.4 XTYPE/FP
 
+# Floating point addition
 0x11 0xdf 0x15 0xeb
 # CHECK: r17 = sfadd(r21, r31)
+
+# Classify floating-point value
+0x03 0xd5 0xf1 0x85
+# CHECK: p3 = sfclass(r17, #21)
+0xb3 0xc2 0x90 0xdc
+# CHECK: p3 = dfclass(r17:16, #21)
+
+# Compare floating-point value
 0x03 0xd5 0xf1 0xc7
 # CHECK: p3 = sfcmp.ge(r17, r21)
 0x23 0xd5 0xf1 0xc7
 # CHECK: p3 = dfcmp.ge(r17:16, r21:20)
 0x63 0xd4 0xf0 0xd2
 # CHECK: p3 = dfcmp.uo(r17:16, r21:20)
+
+# Convert floating-point value to other format
 0x10 0xc0 0x95 0x84
 # CHECK: r17:16 = convert_sf2df(r21)
 0x31 0xc0 0x14 0x88
 # CHECK: r17 = convert_df2sf(r21:20)
+
+# Convert integer to floating-point value
 0x50 0xc0 0xf4 0x80
 # CHECK: r17:16 = convert_ud2df(r21:20)
 0x70 0xc0 0xf4 0x80
@@ -38,6 +52,8 @@
 # CHECK: r17 = convert_uw2sf(r21)
 0x11 0xc0 0x55 0x8b
 # CHECK: r17 = convert_w2sf(r21)
+
+# Convert floating-point value to integer
 0x10 0xc0 0xf4 0x80
 # CHECK: r17:16 = convert_df2d(r21:20)
 0x30 0xc0 0xf4 0x80
 # CHECK: r17 = convert_sf2w(r21)
 0x31 0xc0 0x95 0x8b
 # CHECK: r17 = convert_sf2w(r21):chop
+
+# Floating point extreme value assistance
 0x11 0xc0 0xb5 0x8b
 # CHECK: r17 = sffixupr(r21)
 0x11 0xdf 0xd5 0xeb
 # CHECK: r17 = sffixupn(r21, r31)
 0x31 0xdf 0xd5 0xeb
 # CHECK: r17 = sffixupd(r21, r31)
+
+# Floating point fused multiply-add
 0x91 0xdf 0x15 0xef
 # CHECK: r17 += sfmpy(r21, r31)
 0xb1 0xdf 0x15 0xef
 # CHECK: r17 -= sfmpy(r21, r31)
+
+# Floating point fused multiply-add with scaling
 0xf1 0xdf 0x75 0xef
 # CHECK: r17 += sfmpy(r21, r31, p3):scale
+
+# Floating point reciprocal square root approximation
+0x71 0xc0 0xf5 0x8b
+# CHECK: r17, p3 = sfinvsqrta(r21)
+
+# Floating point fused multiply-add for library routines
 0xd1 0xdf 0x15 0xef
 # CHECK: r17 += sfmpy(r21, r31):lib
 0xf1 0xdf 0x15 0xef
 # CHECK: r17 -= sfmpy(r21, r31):lib
+
+# Create floating-point constant
+0xb1 0xc2 0x00 0xd6
+# CHECK: r17 = sfmake(#21):pos
+0xb1 0xc2 0x40 0xd6
+# CHECK: r17 = sfmake(#21):neg
+0xb0 0xc2 0x00 0xd9
+# CHECK: r17:16 = dfmake(#21):pos
+0xb0 0xc2 0x40 0xd9
+# CHECK: r17:16 = dfmake(#21):neg
+
+# Floating point maximum
 0x11 0xdf 0x95 0xeb
 # CHECK: r17 = sfmax(r21, r31)
+
+# Floating point minimum
 0x31 0xdf 0x95 0xeb
 # CHECK: r17 = sfmin(r21, r31)
+
+# Floating point multiply
 0x11 0xdf 0x55 0xeb
 # CHECK: r17 = sfmpy(r21, r31)
+
+# Floating point reciprocal approximation
 0xf1 0xdf 0xf5 0xeb
 # CHECK: r17, p3 = sfrecipa(r21, r31)
+
+# Floating point subtraction
 0x31 0xdf 0x15 0xeb
 # CHECK: r17 = sfsub(r21, r31)