blob: 3849675cdebc4de626d712f622ce9bda4a77073b [file] [log] [blame]
# Check the hardware registers
#
# FIXME: Use the code generator in order to print the .set directives
# instead of the instruction printer.
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r2 | \
# RUN: FileCheck %s
.set noat
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $hwr_cpunum
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x00,0x3b]
rdhwr $a0,$hwr_cpunum
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $hwr_cpunum
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x00,0x3b]
rdhwr $a0,$0
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $5, $hwr_synci_step
# CHECK-NEXT: .set pop # encoding: [0x7c,0x05,0x08,0x3b]
rdhwr $a1,$hwr_synci_step
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $5, $hwr_synci_step
# CHECK-NEXT: .set pop # encoding: [0x7c,0x05,0x08,0x3b]
rdhwr $a1,$1
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $6, $hwr_cc
# CHECK-NEXT: .set pop # encoding: [0x7c,0x06,0x10,0x3b]
rdhwr $a2,$hwr_cc
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $6, $hwr_cc
# CHECK-NEXT: .set pop # encoding: [0x7c,0x06,0x10,0x3b]
rdhwr $a2,$2
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $7, $hwr_ccres
# CHECK-NEXT: .set pop # encoding: [0x7c,0x07,0x18,0x3b]
rdhwr $a3,$hwr_ccres
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $7, $hwr_ccres
# CHECK-NEXT: .set pop # encoding: [0x7c,0x07,0x18,0x3b]
rdhwr $a3,$3
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $4
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x20,0x3b]
rdhwr $a0,$4
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $5
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x28,0x3b]
rdhwr $a0,$5
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $6
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x30,0x3b]
rdhwr $a0,$6
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $7
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x38,0x3b]
rdhwr $a0,$7
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $8
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x40,0x3b]
rdhwr $a0,$8
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $9
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x48,0x3b]
rdhwr $a0,$9
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $10
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x50,0x3b]
rdhwr $a0,$10
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $11
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x58,0x3b]
rdhwr $a0,$11
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $12
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x60,0x3b]
rdhwr $a0,$12
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $13
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x68,0x3b]
rdhwr $a0,$13
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $14
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x70,0x3b]
rdhwr $a0,$14
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $15
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x78,0x3b]
rdhwr $a0,$15
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $16
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x80,0x3b]
rdhwr $a0,$16
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $17
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x88,0x3b]
rdhwr $a0,$17
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $18
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x90,0x3b]
rdhwr $a0,$18
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $19
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0x98,0x3b]
rdhwr $a0,$19
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $20
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xa0,0x3b]
rdhwr $a0,$20
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $21
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xa8,0x3b]
rdhwr $a0,$21
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $22
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xb0,0x3b]
rdhwr $a0,$22
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $23
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xb8,0x3b]
rdhwr $a0,$23
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $24
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xc0,0x3b]
rdhwr $a0,$24
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $25
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xc8,0x3b]
rdhwr $a0,$25
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $26
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xd0,0x3b]
rdhwr $a0,$26
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $27
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xd8,0x3b]
rdhwr $a0,$27
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $28
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xe0,0x3b]
rdhwr $a0,$28
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $29
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xe8,0x3b]
rdhwr $a0,$29
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $29
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xe8,0x3b]
rdhwr $a0,$hwr_ulr
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $30
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xf0,0x3b]
rdhwr $a0,$30
# CHECK: .set push
# CHECK-NEXT: .set mips32r2
# CHECK-NEXT: rdhwr $4, $31
# CHECK-NEXT: .set pop # encoding: [0x7c,0x04,0xf8,0x3b]
rdhwr $a0,$31