Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 1 | # RUN: llvm-mc %s -triple=mips-unknown-unknown -show-encoding -mcpu=mips32r2 -show-inst| \ |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 2 | # RUN: FileCheck -check-prefix=CHECK32 %s |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 3 | # RUN: llvm-mc %s -triple=mips64-unknown-unknown -show-encoding -mcpu=mips64r2 -show-inst \ |
Vladimir Medic | 8277c18 | 2013-08-26 10:02:40 +0000 | [diff] [blame] | 4 | # RUN: | FileCheck -check-prefix=CHECK64 %s |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 5 | |
| 6 | # CHECK32: break # encoding: [0x00,0x00,0x00,0x0d] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 7 | # CHECK32-NEXT: # <MCInst #{{[0-9]+}} BREAK |
Tim Northover | ee20caa | 2014-05-12 18:04:06 +0000 | [diff] [blame] | 8 | # CHECK32: break 7 # encoding: [0x00,0x07,0x00,0x0d] |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 9 | # CHECK32: break 7, 5 # encoding: [0x00,0x07,0x01,0x4d] |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 10 | # CHECK32: eret # encoding: [0x42,0x00,0x00,0x18] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 11 | # CHECK32-NEXT: # <MCInst #{{[0-9]+}} ERET |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 12 | # CHECK32: deret # encoding: [0x42,0x00,0x00,0x1f] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 13 | # CHECK32-NEXT: # <MCInst #{{[0-9]+}} DERET |
Vladimir Medic | 939877e | 2013-08-12 13:07:23 +0000 | [diff] [blame] | 14 | # CHECK32: di # encoding: [0x41,0x60,0x60,0x00] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 15 | # CHECK32-NEXT: # <MCInst #{{[0-9]+}} DI |
Vladimir Medic | 939877e | 2013-08-12 13:07:23 +0000 | [diff] [blame] | 16 | # CHECK32: di $10 # encoding: [0x41,0x6a,0x60,0x00] |
| 17 | # CHECK32: ei # encoding: [0x41,0x60,0x60,0x20] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 18 | # CHECK32-NEXT: # <MCInst #{{[0-9]+}} EI |
Vladimir Medic | 939877e | 2013-08-12 13:07:23 +0000 | [diff] [blame] | 19 | # CHECK32: ei $10 # encoding: [0x41,0x6a,0x60,0x20] |
Vladimir Medic | 2df9ee6 | 2013-08-16 10:17:03 +0000 | [diff] [blame] | 20 | # CHECK32: wait # encoding: [0x42,0x00,0x00,0x20] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 21 | # CHECK32-NEXT: # <MCInst #{{[0-9]+}} WAIT |
Vladimir Medic | 8277c18 | 2013-08-26 10:02:40 +0000 | [diff] [blame] | 22 | # CHECK32: teq $zero, $3 # encoding: [0x00,0x03,0x00,0x34] |
| 23 | # CHECK32: teq $zero, $3, 1 # encoding: [0x00,0x03,0x00,0x74] |
| 24 | # CHECK32: teqi $3, 1 # encoding: [0x04,0x6c,0x00,0x01] |
| 25 | # CHECK32: tge $zero, $3 # encoding: [0x00,0x03,0x00,0x30] |
| 26 | # CHECK32: tge $zero, $3, 3 # encoding: [0x00,0x03,0x00,0xf0] |
| 27 | # CHECK32: tgei $3, 3 # encoding: [0x04,0x68,0x00,0x03] |
| 28 | # CHECK32: tgeu $zero, $3 # encoding: [0x00,0x03,0x00,0x31] |
| 29 | # CHECK32: tgeu $zero, $3, 7 # encoding: [0x00,0x03,0x01,0xf1] |
| 30 | # CHECK32: tgeiu $3, 7 # encoding: [0x04,0x69,0x00,0x07] |
| 31 | # CHECK32: tlt $zero, $3 # encoding: [0x00,0x03,0x00,0x32] |
| 32 | # CHECK32: tlt $zero, $3, 31 # encoding: [0x00,0x03,0x07,0xf2] |
| 33 | # CHECK32: tlti $3, 31 # encoding: [0x04,0x6a,0x00,0x1f] |
| 34 | # CHECK32: tltu $zero, $3 # encoding: [0x00,0x03,0x00,0x33] |
| 35 | # CHECK32: tltu $zero, $3, 255 # encoding: [0x00,0x03,0x3f,0xf3] |
| 36 | # CHECK32: tltiu $3, 255 # encoding: [0x04,0x6b,0x00,0xff] |
| 37 | # CHECK32: tne $zero, $3 # encoding: [0x00,0x03,0x00,0x36] |
| 38 | # CHECK32: tne $zero, $3, 1023 # encoding: [0x00,0x03,0xff,0xf6] |
| 39 | # CHECK32: tnei $3, 1023 # encoding: [0x04,0x6e,0x03,0xff] |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 40 | |
| 41 | # CHECK64: break # encoding: [0x00,0x00,0x00,0x0d] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 42 | # CHECK64-NEXT: # <MCInst #{{[0-9]+}} BREAK |
Tim Northover | ee20caa | 2014-05-12 18:04:06 +0000 | [diff] [blame] | 43 | # CHECK64: break 7 # encoding: [0x00,0x07,0x00,0x0d] |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 44 | # CHECK64: break 7, 5 # encoding: [0x00,0x07,0x01,0x4d] |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 45 | # CHECK64: eret # encoding: [0x42,0x00,0x00,0x18] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 46 | # CHECK64-NEXT: # <MCInst #{{[0-9]+}} ERET |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 47 | # CHECK64: deret # encoding: [0x42,0x00,0x00,0x1f] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 48 | # CHECK64-NEXT: # <MCInst #{{[0-9]+}} DERET |
Vladimir Medic | 939877e | 2013-08-12 13:07:23 +0000 | [diff] [blame] | 49 | # CHECK64: di # encoding: [0x41,0x60,0x60,0x00] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 50 | # CHECK64-NEXT: # <MCInst #{{[0-9]+}} DI |
Vladimir Medic | 939877e | 2013-08-12 13:07:23 +0000 | [diff] [blame] | 51 | # CHECK64: di $10 # encoding: [0x41,0x6a,0x60,0x00] |
| 52 | # CHECK64: ei # encoding: [0x41,0x60,0x60,0x20] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 53 | # CHECK64-NEXT: # <MCInst #{{[0-9]+}} EI |
Vladimir Medic | 939877e | 2013-08-12 13:07:23 +0000 | [diff] [blame] | 54 | # CHECK64: ei $10 # encoding: [0x41,0x6a,0x60,0x20] |
Vladimir Medic | 2df9ee6 | 2013-08-16 10:17:03 +0000 | [diff] [blame] | 55 | # CHECK64: wait # encoding: [0x42,0x00,0x00,0x20] |
Simon Dardis | 8086b9d | 2018-04-26 16:06:34 +0000 | [diff] [blame] | 56 | # CHECK64-NEXT: # <MCInst #{{[0-9]+}} WAIT |
Vladimir Medic | 8277c18 | 2013-08-26 10:02:40 +0000 | [diff] [blame] | 57 | # CHECK64: teq $zero, $3 # encoding: [0x00,0x03,0x00,0x34] |
| 58 | # CHECK64: teq $zero, $3, 1 # encoding: [0x00,0x03,0x00,0x74] |
| 59 | # CHECK64: teqi $3, 1 # encoding: [0x04,0x6c,0x00,0x01] |
| 60 | # CHECK64: tge $zero, $3 # encoding: [0x00,0x03,0x00,0x30] |
| 61 | # CHECK64: tge $zero, $3, 3 # encoding: [0x00,0x03,0x00,0xf0] |
| 62 | # CHECK64: tgei $3, 3 # encoding: [0x04,0x68,0x00,0x03] |
| 63 | # CHECK64: tgeu $zero, $3 # encoding: [0x00,0x03,0x00,0x31] |
| 64 | # CHECK64: tgeu $zero, $3, 7 # encoding: [0x00,0x03,0x01,0xf1] |
| 65 | # CHECK64: tgeiu $3, 7 # encoding: [0x04,0x69,0x00,0x07] |
| 66 | # CHECK64: tlt $zero, $3 # encoding: [0x00,0x03,0x00,0x32] |
| 67 | # CHECK64: tlt $zero, $3, 31 # encoding: [0x00,0x03,0x07,0xf2] |
| 68 | # CHECK64: tlti $3, 31 # encoding: [0x04,0x6a,0x00,0x1f] |
| 69 | # CHECK64: tltu $zero, $3 # encoding: [0x00,0x03,0x00,0x33] |
| 70 | # CHECK64: tltu $zero, $3, 255 # encoding: [0x00,0x03,0x3f,0xf3] |
| 71 | # CHECK64: tltiu $3, 255 # encoding: [0x04,0x6b,0x00,0xff] |
| 72 | # CHECK64: tne $zero, $3 # encoding: [0x00,0x03,0x00,0x36] |
| 73 | # CHECK64: tne $zero, $3, 1023 # encoding: [0x00,0x03,0xff,0xf6] |
| 74 | # CHECK64: tnei $3, 1023 # encoding: [0x04,0x6e,0x03,0xff] |
| 75 | |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 76 | break |
| 77 | break 7 |
| 78 | break 7,5 |
Vladimir Medic | 29410f9 | 2013-07-17 14:05:19 +0000 | [diff] [blame] | 79 | eret |
| 80 | deret |
Vladimir Medic | 939877e | 2013-08-12 13:07:23 +0000 | [diff] [blame] | 81 | di |
| 82 | di $0 |
| 83 | di $10 |
| 84 | |
| 85 | ei |
| 86 | ei $0 |
| 87 | ei $10 |
Vladimir Medic | 2df9ee6 | 2013-08-16 10:17:03 +0000 | [diff] [blame] | 88 | |
| 89 | wait |
Vladimir Medic | 8277c18 | 2013-08-26 10:02:40 +0000 | [diff] [blame] | 90 | |
| 91 | teq $0,$3 |
| 92 | teq $0,$3,1 |
| 93 | teqi $3,1 |
| 94 | tge $0,$3 |
| 95 | tge $0,$3,3 |
| 96 | tgei $3,3 |
| 97 | tgeu $0,$3 |
| 98 | tgeu $0,$3,7 |
| 99 | tgeiu $3,7 |
| 100 | tlt $0,$3 |
| 101 | tlt $0,$3,31 |
| 102 | tlti $3,31 |
| 103 | tltu $0,$3 |
| 104 | tltu $0,$3,255 |
| 105 | tltiu $3,255 |
| 106 | tne $0,$3 |
| 107 | tne $0,$3,1023 |
| 108 | tnei $3,1023 |