brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.6 KiB · 0b91d94 Raw
154 lines · plain
1// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s2 3// Check that the assembler can handle the documented syntax for AArch644 5//----------------------------------------------------------------------6// Scalar Floating-point Compare Mask Equal7//----------------------------------------------------------------------8 9         fcmeq h10, h11, h1210         fcmeq s10, s11, s1211         fcmeq d20, d21, d2212 13// CHECK: fcmeq   h10, h11, h12           // encoding: [0x6a,0x25,0x4c,0x5e]14// CHECK: fcmeq s10, s11, s12   // encoding: [0x6a,0xe5,0x2c,0x5e]15// CHECK: fcmeq d20, d21, d22   // encoding: [0xb4,0xe6,0x76,0x5e]16 17//----------------------------------------------------------------------18// Scalar Floating-point Compare Mask Equal To Zero19//----------------------------------------------------------------------20 21         fcmeq h10, h11, #0.022         fcmeq s10, s11, #0.023         fcmeq d20, d21, #0.024         fcmeq h10, h11, #025         fcmeq s10, s11, #026         fcmeq d20, d21, #0x027 28// CHECK: fcmeq   h10, h11, #0.0          // encoding: [0x6a,0xd9,0xf8,0x5e]29// CHECK: fcmeq s10, s11, #0.0   // encoding: [0x6a,0xd9,0xa0,0x5e]30// CHECK: fcmeq d20, d21, #0.0   // encoding: [0xb4,0xda,0xe0,0x5e]31// CHECK: fcmeq   h10, h11, #0.0          // encoding: [0x6a,0xd9,0xf8,0x5e]32// CHECK: fcmeq s10, s11, #0.0   // encoding: [0x6a,0xd9,0xa0,0x5e]33// CHECK: fcmeq d20, d21, #0.0   // encoding: [0xb4,0xda,0xe0,0x5e]34 35//----------------------------------------------------------------------36// Scalar Floating-point Compare Mask Greater Than Or Equal37//----------------------------------------------------------------------38 39         fcmge h10, h11, h1240         fcmge s10, s11, s1241         fcmge d20, d21, d2242 43// CHECK: fcmge   h10, h11, h12           // encoding: [0x6a,0x25,0x4c,0x7e]44// CHECK: fcmge s10, s11, s12   // encoding: [0x6a,0xe5,0x2c,0x7e]45// CHECK: fcmge d20, d21, d22   // encoding: [0xb4,0xe6,0x76,0x7e]46 47//----------------------------------------------------------------------48// Scalar Floating-point Compare Mask Greater Than Or Equal To Zero49//----------------------------------------------------------------------50 51         fcmge h10, h11, #0.052         fcmge s10, s11, #0.053         fcmge d20, d21, #0.054         fcmge h10, h11, #055         fcmge s10, s11, #056         fcmge d20, d21, #0x057 58// CHECK: fcmge   h10, h11, #0.0          // encoding: [0x6a,0xc9,0xf8,0x7e]59// CHECK: fcmge s10, s11, #0.0   // encoding: [0x6a,0xc9,0xa0,0x7e]60// CHECK: fcmge d20, d21, #0.0   // encoding: [0xb4,0xca,0xe0,0x7e]61// CHECK: fcmge   h10, h11, #0.0          // encoding: [0x6a,0xc9,0xf8,0x7e]62// CHECK: fcmge s10, s11, #0.0   // encoding: [0x6a,0xc9,0xa0,0x7e]63// CHECK: fcmge d20, d21, #0.0   // encoding: [0xb4,0xca,0xe0,0x7e]64 65//----------------------------------------------------------------------66// Scalar Floating-point Compare Mask Greather Than67//----------------------------------------------------------------------68 69         fcmgt h10, h11, h1270         fcmgt s10, s11, s1271         fcmgt d20, d21, d2272 73// CHECK: fcmgt   h10, h11, h12           // encoding: [0x6a,0x25,0xcc,0x7e]74// CHECK: fcmgt s10, s11, s12   // encoding: [0x6a,0xe5,0xac,0x7e]75// CHECK: fcmgt d20, d21, d22   // encoding: [0xb4,0xe6,0xf6,0x7e]76 77//----------------------------------------------------------------------78// Scalar Floating-point Compare Mask Greather Than Zero79//----------------------------------------------------------------------80 81         fcmgt h10, h11, #0.082         fcmgt s10, s11, #0.083         fcmgt d20, d21, #0.084         fcmgt h10, h11, #085         fcmgt s10, s11, #086         fcmgt d20, d21, #0x087 88// CHECK: fcmgt   h10, h11, #0.0          // encoding: [0x6a,0xc9,0xf8,0x5e]89// CHECK: fcmgt s10, s11, #0.0   // encoding: [0x6a,0xc9,0xa0,0x5e]90// CHECK: fcmgt d20, d21, #0.0   // encoding: [0xb4,0xca,0xe0,0x5e]91// CHECK: fcmgt   h10, h11, #0.0          // encoding: [0x6a,0xc9,0xf8,0x5e]92// CHECK: fcmgt s10, s11, #0.0   // encoding: [0x6a,0xc9,0xa0,0x5e]93// CHECK: fcmgt d20, d21, #0.0   // encoding: [0xb4,0xca,0xe0,0x5e]94 95//----------------------------------------------------------------------96// Scalar Floating-point Compare Mask Less Than Or Equal To Zero97//----------------------------------------------------------------------98 99         fcmle h10, h11, #0.0100         fcmle s10, s11, #0.0101         fcmle d20, d21, #0.0102         fcmle h10, h11, #0103         fcmle s10, s11, #0104         fcmle d20, d21, #0x0105 106// CHECK: fcmle   h10, h11, #0.0          // encoding: [0x6a,0xd9,0xf8,0x7e]107// CHECK: fcmle s10, s11, #0.0   // encoding: [0x6a,0xd9,0xa0,0x7e]108// CHECK: fcmle d20, d21, #0.0   // encoding: [0xb4,0xda,0xe0,0x7e]109// CHECK: fcmle   h10, h11, #0.0          // encoding: [0x6a,0xd9,0xf8,0x7e]110// CHECK: fcmle s10, s11, #0.0   // encoding: [0x6a,0xd9,0xa0,0x7e]111// CHECK: fcmle d20, d21, #0.0   // encoding: [0xb4,0xda,0xe0,0x7e]112 113//----------------------------------------------------------------------114// Scalar Floating-point Compare Mask Less Than115//----------------------------------------------------------------------116 117         fcmlt h10, h11, #0.0118         fcmlt s10, s11, #0.0119         fcmlt d20, d21, #0.0120         fcmlt h10, h11, #0121         fcmlt s10, s11, #0122         fcmlt d20, d21, #0x0123 124// CHECK: fcmlt   h10, h11, #0.0          // encoding: [0x6a,0xe9,0xf8,0x5e]125// CHECK: fcmlt s10, s11, #0.0   // encoding: [0x6a,0xe9,0xa0,0x5e]126// CHECK: fcmlt d20, d21, #0.0   // encoding: [0xb4,0xea,0xe0,0x5e]127// CHECK: fcmlt   h10, h11, #0.0          // encoding: [0x6a,0xe9,0xf8,0x5e]128// CHECK: fcmlt s10, s11, #0.0   // encoding: [0x6a,0xe9,0xa0,0x5e]129// CHECK: fcmlt d20, d21, #0.0   // encoding: [0xb4,0xea,0xe0,0x5e]130 131//----------------------------------------------------------------------132// Scalar Floating-point Absolute Compare Mask Greater Than Or Equal133//----------------------------------------------------------------------134 135         facge h10, h11, h12136         facge s10, s11, s12137         facge d20, d21, d22138 139// CHECK: facge   h10, h11, h12           // encoding: [0x6a,0x2d,0x4c,0x7e]140// CHECK: facge s10, s11, s12    // encoding: [0x6a,0xed,0x2c,0x7e]141// CHECK: facge d20, d21, d22    // encoding: [0xb4,0xee,0x76,0x7e]142 143//----------------------------------------------------------------------144// Scalar Floating-point Absolute Compare Mask Greater Than145//----------------------------------------------------------------------146 147         facgt h10, h11, h12148         facgt s10, s11, s12149         facgt d20, d21, d22150 151// CHECK: facgt   h10, h11, h12           // encoding: [0x6a,0x2d,0xcc,0x7e]152// CHECK: facgt s10, s11, s12   // encoding: [0x6a,0xed,0xac,0x7e]153// CHECK: facgt d20, d21, d22   // encoding: [0xb4,0xee,0xf6,0x7e]154