simple-fp-encoding.s revision 52925b60f1cd4cf810524ca05b00a207a926ab9f
1// RUN: llvm-mc -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s 2 3// CHECK: vadd.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0x71,0xee] 4 vadd.f64 d16, d17, d16 5 6// CHECK: vadd.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x30,0xee] 7 vadd.f32 s0, s1, s0 8 9// CHECK: vsub.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x71,0xee] 10 vsub.f64 d16, d17, d16 11 12// CHECK: vsub.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x30,0xee] 13 vsub.f32 s0, s1, s0 14 15// CHECK: vdiv.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0xc1,0xee] 16 vdiv.f64 d16, d17, d16 17 18// CHECK: vdiv.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x80,0xee] 19 vdiv.f32 s0, s1, s0 20 21// CHECK: vmul.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0x61,0xee] 22 vmul.f64 d16, d17, d16 23 24// CHECK: vmul.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x20,0xee] 25 vmul.f32 s0, s1, s0 26 27// CHECK: vnmul.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x61,0xee] 28 vnmul.f64 d16, d17, d16 29 30// CHECK: vnmul.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x20,0xee] 31 vnmul.f32 s0, s1, s0 32 33// CHECK: vcmpe.f64 d17, d16 @ encoding: [0xe0,0x1b,0xf4,0xee] 34 vcmpe.f64 d17, d16 35 36// CHECK: vcmpe.f32 s1, s0 @ encoding: [0xc0,0x0a,0xf4,0xee] 37 vcmpe.f32 s1, s0 38 39// FIXME: vcmpe.f64 d16, #0 @ encoding: [0xc0,0x0b,0xf5,0xee] 40// vcmpe.f64 d16, #0 41 42// FIXME: vcmpe.f32 s0, #0 @ encoding: [0xc0,0x0a,0xb5,0xee] 43// vcmpe.f32 s0, #0 44 45// CHECK: vabs.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf0,0xee] 46 vabs.f64 d16, d16 47 48// CHECK: vabs.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb0,0xee] 49 vabs.f32 s0, s0 50 51// CHECK: vcvt.f32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xb7,0xee] 52 vcvt.f32.f64 s0, d16 53 54// CHECK: vcvt.f64.f32 d16, s0 @ encoding: [0xc0,0x0a,0xf7,0xee] 55 vcvt.f64.f32 d16, s0 56 57// CHECK: vneg.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0xee] 58 vneg.f64 d16, d16 59 60// CHECK: vneg.f32 s0, s0 @ encoding: [0x40,0x0a,0xb1,0xee] 61 vneg.f32 s0, s0 62 63// CHECK: vsqrt.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf1,0xee] 64 vsqrt.f64 d16, d16 65 66// CHECK: vsqrt.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb1,0xee] 67 vsqrt.f32 s0, s0 68 69// CHECK: vcvt.f64.s32 d16, s0 @ encoding: [0xc0,0x0b,0xf8,0xee] 70 vcvt.f64.s32 d16, s0 71 72// CHECK: vcvt.f32.s32 s0, s0 @ encoding: [0xc0,0x0a,0xb8,0xee] 73 vcvt.f32.s32 s0, s0 74 75// CHECK: vcvt.f64.u32 d16, s0 @ encoding: [0x40,0x0b,0xf8,0xee] 76 vcvt.f64.u32 d16, s0 77 78// CHECK: vcvt.f32.u32 s0, s0 @ encoding: [0x40,0x0a,0xb8,0xee] 79 vcvt.f32.u32 s0, s0 80 81// CHECK: vcvt.s32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xbd,0xee] 82 vcvt.s32.f64 s0, d16 83 84// CHECK: vcvt.s32.f32 s0, s0 @ encoding: [0xc0,0x0a,0xbd,0xee] 85 vcvt.s32.f32 s0, s0 86 87// CHECK: vcvt.u32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xbc,0xee] 88 vcvt.u32.f64 s0, d16 89 90// CHECK: vcvt.u32.f32 s0, s0 @ encoding: [0xc0,0x0a,0xbc,0xee] 91 vcvt.u32.f32 s0, s0 92 93// CHECK: vmla.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x42,0xee] 94 vmla.f64 d16, d18, d17 95 96// CHECK: vmla.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x41,0xee] 97 vmla.f32 s1, s2, s0 98 99// CHECK: vmls.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x42,0xee] 100 vmls.f64 d16, d18, d17 101 102// CHECK: vmls.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x41,0xee] 103 vmls.f32 s1, s2, s0 104 105// CHECK: vnmla.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x52,0xee] 106 vnmla.f64 d16, d18, d17 107 108// CHECK: vnmla.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x51,0xee] 109 vnmla.f32 s1, s2, s0 110 111// CHECK: vnmls.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x52,0xee] 112 vnmls.f64 d16, d18, d17 113 114// CHECK: vnmls.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x51,0xee] 115 vnmls.f32 s1, s2, s0 116 117// FIXME: vmrs apsr_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee] 118// vmrs apsr_nzcv, fpscr 119 120// CHECK: vnegne.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0x1e] 121 vnegne.f64 d16, d16 122 123// CHECK: vmovne s0, r0 @ encoding: [0x10,0x0a,0x00,0x1e] 124// CHECK: vmoveq s0, r1 @ encoding: [0x10,0x1a,0x00,0x0e] 125 vmovne s0, r0 126 vmoveq s0, r1 127 128// CHECK: vmrs r0, fpscr @ encoding: [0x10,0x0a,0xf1,0xee] 129 vmrs r0, fpscr 130 131// CHECK: vmsr fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xee] 132 vmsr fpscr, r0 133 134// FIXME: vmov.f64 d16, #3.000000e+00 @ encoding: [0x08,0x0b,0xf0,0xee] 135// vmov.f64 d16, #3.000000e+00 136 137// FIXME: vmov.f32 s0, #3.000000e+00 @ encoding: [0x08,0x0a,0xb0,0xee] 138// vmov.f32 s0, #3.000000e+00 139 140// CHECK: vmov s0, r0 @ encoding: [0x10,0x0a,0x00,0xee] 141// CHECK: vmov s1, r1 @ encoding: [0x90,0x1a,0x00,0xee] 142// CHECK: vmov s2, r2 @ encoding: [0x10,0x2a,0x01,0xee] 143// CHECK: vmov s3, r3 @ encoding: [0x90,0x3a,0x01,0xee] 144 vmov s0, r0 145 vmov s1, r1 146 vmov s2, r2 147 vmov s3, r3 148 149// CHECK: vmov r0, s0 @ encoding: [0x10,0x0a,0x10,0xee] 150// CHECK: vmov r1, s1 @ encoding: [0x90,0x1a,0x10,0xee] 151// CHECK: vmov r2, s2 @ encoding: [0x10,0x2a,0x11,0xee] 152// CHECK: vmov r3, s3 @ encoding: [0x90,0x3a,0x11,0xee] 153 vmov r0, s0 154 vmov r1, s1 155 vmov r2, s2 156 vmov r3, s3 157 158// CHECK: vmov r0, r1, d16 @ encoding: [0x30,0x0b,0x51,0xec] 159 vmov r0, r1, d16 160 161