1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Check that the assembler can handle the documented syntax for AArch64 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Floating-point Reciprocal Step 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecps h21, h16, h13 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecps s21, s16, s13 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecps d22, d30, d21 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecps h21, h16, h13 // encoding: [0x15,0x3e,0x4d,0x5e] 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecps s21, s16, s13 // encoding: [0x15,0xfe,0x2d,0x5e] 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecps d22, d30, d21 // encoding: [0xd6,0xff,0x75,0x5e] 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Floating-point Reciprocal Square Root Step 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frsqrts h21, h5, h12 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frsqrts s21, s5, s12 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frsqrts d8, d22, d18 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frsqrts h21, h5, h12 // encoding: [0xb5,0x3c,0xcc,0x5e] 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frsqrts s21, s5, s12 // encoding: [0xb5,0xfc,0xac,0x5e] 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frsqrts d8, d22, d18 // encoding: [0xc8,0xfe,0xf2,0x5e] 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Scalar Floating-point Reciprocal Estimate 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecpe h19, h14 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecpe s19, s14 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecpe d13, d13 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecpe h19, h14 // encoding: [0xd3,0xd9,0xf9,0x5e] 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecpe s19, s14 // encoding: [0xd3,0xd9,0xa1,0x5e] 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecpe d13, d13 // encoding: [0xad,0xd9,0xe1,0x5e] 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Scalar Floating-point Reciprocal Exponent 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecpx h18, h10 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecpx s18, s10 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frecpx d16, d19 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecpx h18, h10 // encoding: [0x52,0xf9,0xf9,0x5e] 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecpx s18, s10 // encoding: [0x52,0xf9,0xa1,0x5e] 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frecpx d16, d19 // encoding: [0x70,0xfa,0xe1,0x5e] 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Scalar Floating-point Reciprocal Square Root Estimate 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//---------------------------------------------------------------------- 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frsqrte h22, h13 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frsqrte s22, s13 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver frsqrte d21, d12 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frsqrte h22, h13 // encoding: [0xb6,0xd9,0xf9,0x7e] 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frsqrte s22, s13 // encoding: [0xb6,0xd9,0xa1,0x7e] 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// CHECK: frsqrte d21, d12 // encoding: [0x95,0xd9,0xe1,0x7e] 64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver