simple-fp-encoding.s revision 933b314c761f3338ebc59aa089983681274054bd
1@ RUN: llvm-mc -mcpu=cortex-a8 -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