1 # RUN: llvm-mc %s -triple=mips64-unknown-freebsd -show-encoding 2>%t0 \ 2 # RUN: | FileCheck %s 3 # RUN: FileCheck -check-prefix=WARNING %s < %t0 4 # 5 # RUN: llvm-mc %s -triple=mips64-unknown-freebsd -show-encoding \ 6 # RUN: -target-abi n32 2>%t1 | FileCheck %s 7 # RUN: FileCheck -check-prefix=WARNING %s < %t1 8 # 9 # Check that the register names are mapped to their correct numbers for n32/n64 10 # Second byte of addiu with $zero at rt contains the number of the source 11 # register. 12 13 .set noat 14 daddiu $zero, $zero, 0 # CHECK: encoding: [0x64,0x00,0x00,0x00] 15 daddiu $at, $zero, 0 # CHECK: encoding: [0x64,0x01,0x00,0x00] 16 daddiu $v0, $zero, 0 # CHECK: encoding: [0x64,0x02,0x00,0x00] 17 daddiu $v1, $zero, 0 # CHECK: encoding: [0x64,0x03,0x00,0x00] 18 daddiu $a0, $zero, 0 # CHECK: encoding: [0x64,0x04,0x00,0x00] 19 daddiu $a1, $zero, 0 # CHECK: encoding: [0x64,0x05,0x00,0x00] 20 daddiu $a2, $zero, 0 # CHECK: encoding: [0x64,0x06,0x00,0x00] 21 daddiu $a3, $zero, 0 # CHECK: encoding: [0x64,0x07,0x00,0x00] 22 daddiu $a4, $zero, 0 # CHECK: encoding: [0x64,0x08,0x00,0x00] 23 daddiu $a5, $zero, 0 # CHECK: encoding: [0x64,0x09,0x00,0x00] 24 daddiu $a6, $zero, 0 # CHECK: encoding: [0x64,0x0a,0x00,0x00] 25 daddiu $a7, $zero, 0 # CHECK: encoding: [0x64,0x0b,0x00,0x00] 26 daddiu $t0, $zero, 0 # [*] # CHECK: encoding: [0x64,0x0c,0x00,0x00] 27 daddiu $t1, $zero, 0 # [*] # CHECK: encoding: [0x64,0x0d,0x00,0x00] 28 daddiu $t2, $zero, 0 # [*] # CHECK: encoding: [0x64,0x0e,0x00,0x00] 29 daddiu $t3, $zero, 0 # [*] # CHECK: encoding: [0x64,0x0f,0x00,0x00] 30 # WARNING: mips64-register-names-n32-n64.s:[[@LINE+4]]:9: warning: register names $t4-$t7 are only available in O32. 31 # WARNING-NEXT: daddiu $t4, $zero, 0 # {{CHECK}}: encoding: [0x64,0x0c,0x00,0x00] 32 # WARNING-NEXT: ^~ 33 # WARNING-NEXT: Did you mean $t0? 34 daddiu $t4, $zero, 0 # CHECK: encoding: [0x64,0x0c,0x00,0x00] 35 # WARNING: mips64-register-names-n32-n64.s:[[@LINE+4]]:9: warning: register names $t4-$t7 are only available in O32. 36 # WARNING-NEXT: daddiu $t5, $zero, 0 # {{CHECK}}: encoding: [0x64,0x0d,0x00,0x00] 37 # WARNING-NEXT: ^~ 38 # WARNING-NEXT: Did you mean $t1? 39 daddiu $t5, $zero, 0 # CHECK: encoding: [0x64,0x0d,0x00,0x00] 40 # WARNING: mips64-register-names-n32-n64.s:[[@LINE+4]]:9: warning: register names $t4-$t7 are only available in O32. 41 # WARNING-NEXT: daddiu $t6, $zero, 0 # {{CHECK}}: encoding: [0x64,0x0e,0x00,0x00] 42 # WARNING-NEXT: ^~ 43 # WARNING-NEXT: Did you mean $t2? 44 daddiu $t6, $zero, 0 # CHECK: encoding: [0x64,0x0e,0x00,0x00] 45 # WARNING: mips64-register-names-n32-n64.s:[[@LINE+4]]:9: warning: register names $t4-$t7 are only available in O32. 46 # WARNING-NEXT: daddiu $t7, $zero, 0 # {{CHECK}}: encoding: [0x64,0x0f,0x00,0x00] 47 # WARNING-NEXT: ^~ 48 # WARNING-NEXT: Did you mean $t3? 49 daddiu $t7, $zero, 0 # CHECK: encoding: [0x64,0x0f,0x00,0x00] 50 daddiu $s0, $zero, 0 # CHECK: encoding: [0x64,0x10,0x00,0x00] 51 daddiu $s1, $zero, 0 # CHECK: encoding: [0x64,0x11,0x00,0x00] 52 daddiu $s2, $zero, 0 # CHECK: encoding: [0x64,0x12,0x00,0x00] 53 daddiu $s3, $zero, 0 # CHECK: encoding: [0x64,0x13,0x00,0x00] 54 daddiu $s4, $zero, 0 # CHECK: encoding: [0x64,0x14,0x00,0x00] 55 daddiu $s5, $zero, 0 # CHECK: encoding: [0x64,0x15,0x00,0x00] 56 daddiu $s6, $zero, 0 # CHECK: encoding: [0x64,0x16,0x00,0x00] 57 daddiu $s7, $zero, 0 # CHECK: encoding: [0x64,0x17,0x00,0x00] 58 daddiu $t8, $zero, 0 # CHECK: encoding: [0x64,0x18,0x00,0x00] 59 daddiu $t9, $zero, 0 # CHECK: encoding: [0x64,0x19,0x00,0x00] 60 daddiu $kt0, $zero, 0 # CHECK: encoding: [0x64,0x1a,0x00,0x00] 61 daddiu $kt1, $zero, 0 # CHECK: encoding: [0x64,0x1b,0x00,0x00] 62 daddiu $gp, $zero, 0 # CHECK: encoding: [0x64,0x1c,0x00,0x00] 63 daddiu $sp, $zero, 0 # CHECK: encoding: [0x64,0x1d,0x00,0x00] 64 daddiu $s8, $zero, 0 # CHECK: encoding: [0x64,0x1e,0x00,0x00] 65 daddiu $fp, $zero, 0 # CHECK: encoding: [0x64,0x1e,0x00,0x00] 66 daddiu $ra, $zero, 0 # CHECK: encoding: [0x64,0x1f,0x00,0x00] 67 68 # [*] - t0-t3 are aliases of t4-t7 for compatibility with both the original 69 # ABI documentation (using t4-t7) and GNU As (using t0-t3) 70