| # 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 |