1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/MC/Sparc/sparc-special-registers.s
Chris Dewhurst 7df4542eb7 The patch adds missing registers and instructions to complete all the registers supported by the Sparc v8 manual.
These are all co-processor registers, with the exception of the floating-point deferred-trap queue register.
Although these will not be lowered automatically by any instructions, it allows the use of co-processor
instructions implemented by inline-assembly.

Code Reviewed at http://reviews.llvm.org/D17133, with the exception of a very small change in brace placement in SparcInstrInfo.td,
which was formerly causing a problem in the disassembly of the %fq register.

llvm-svn: 262133
2016-02-27 12:49:59 +00:00

57 lines
1.9 KiB
ArmAsm

! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s
! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s
! CHECK: rd %y, %i0 ! encoding: [0xb1,0x40,0x00,0x00]
rd %y, %i0
! CHECK: rd %asr1, %i0 ! encoding: [0xb1,0x40,0x40,0x00]
rd %asr1, %i0
! CHECK: wr %i0, 5, %y ! encoding: [0x81,0x86,0x20,0x05]
wr %i0, 5, %y
! CHECK: wr %i0, %i1, %asr15 ! encoding: [0x9f,0x86,0x00,0x19]
wr %i0, %i1, %asr15
! CHECK: rd %asr15, %g0 ! encoding: [0x81,0x43,0xc0,0x00]
rd %asr15, %g0
! CHECK: rd %psr, %i0 ! encoding: [0xb1,0x48,0x00,0x00]
rd %psr, %i0
! CHECK: rd %wim, %i0 ! encoding: [0xb1,0x50,0x00,0x00]
rd %wim, %i0
! CHECK: rd %tbr, %i0 ! encoding: [0xb1,0x58,0x00,0x00]
rd %tbr, %i0
! CHECK: wr %i0, 5, %psr ! encoding: [0x81,0x8e,0x20,0x05]
wr %i0, 5, %psr
! CHECK: wr %i0, 5, %wim ! encoding: [0x81,0x96,0x20,0x05]
wr %i0, 5, %wim
! CHECK: wr %i0, 5, %tbr ! encoding: [0x81,0x9e,0x20,0x05]
wr %i0, 5, %tbr
! CHECK: rd %asr6, %i0 ! encoding: [0xb1,0x41,0x80,0x00]
rd %fprs, %i0
! CHECK: wr %i0, 7, %asr6 ! encoding: [0x8d,0x86,0x20,0x07]
wr %i0, 7, %fprs
! CHECK: ld [%g2+20], %fsr ! encoding: [0xc1,0x08,0xa0,0x14]
ld [%g2 + 20],%fsr
! CHECK: ld [%g2+%i5], %fsr ! encoding: [0xc1,0x08,0x80,0x1d]
ld [%g2 + %i5],%fsr
! CHECK: st %fsr, [%g2+20] ! encoding: [0xc1,0x28,0xa0,0x14]
st %fsr,[%g2 + 20]
! CHECK: st %fsr, [%g2+%i5] ! encoding: [0xc1,0x28,0x80,0x1d]
st %fsr,[%g2 + %i5]
! CHECK: std %fq, [%g6+%i2] ! encoding: [0xc1,0x31,0x80,0x1a]
std %fq, [%g6 + %i2]