llvm-6502/test/MC/AArch64/dot-req.s
Saleem Abdulrasool 8f9108459e aarch64: support target-specific .req assembler directive
Based on the support for .req on ARM. The aarch64 variant has to keep track if
the alias register was a vector register (v0-31) or a general purpose or
VFP/Advanced SIMD ([bhsdq]0-31) register.

Patch by Janne Grunau!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212161 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-02 04:50:23 +00:00

38 lines
1.3 KiB
ArmAsm

// RUN: llvm-mc -triple=aarch64-none-linux-gnu -show-encoding < %s | FileCheck %s
bar:
fred .req x5
mov fred, x11
.unreq fred
fred .req w6
mov w1, fred
bob .req fred
ada .req w1
mov ada, bob
.unreq bob
.unreq fred
.unreq ada
// CHECK: mov x5, x11 // encoding: [0xe5,0x03,0x0b,0xaa]
// CHECK: mov w1, w6 // encoding: [0xe1,0x03,0x06,0x2a]
// CHECK: mov w1, w6 // encoding: [0xe1,0x03,0x06,0x2a]
bob .req b6
hanah .req h5
sam .req s4
dora .req d3
quentin .req q2
vesna .req v1
addv bob, v0.8b
mov hanah, v4.h[3]
fadd s0, sam, sam
fmov d2, dora
ldr quentin, [sp]
mov v0.8b, vesna.8b
// CHECK: addv b6, v0.8b // encoding: [0x06,0xb8,0x31,0x0e]
// CHECK: mov h5, v4.h[3] // encoding: [0x85,0x04,0x0e,0x5e]
// CHECK: fadd s0, s4, s4 // encoding: [0x80,0x28,0x24,0x1e]
// CHECK: fmov d2, d3 // encoding: [0x62,0x40,0x60,0x1e]
// CHECK: ldr q2, [sp] // encoding: [0xe2,0x03,0xc0,0x3d]
// CHECK: mov v0.8b, v1.8b // encoding: [0x20,0x1c,0xa1,0x0e]