1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s 2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtmsr 4 # encoding: [0x7c,0x80,0x01,0x24] 5*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtmsr 4 # encoding: [0x24,0x01,0x80,0x7c] 6*9880d681SAndroid Build Coastguard Worker mtmsr %r4 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtmsr 4, 1 # encoding: [0x7c,0x81,0x01,0x24] 9*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtmsr 4, 1 # encoding: [0x24,0x01,0x81,0x7c] 10*9880d681SAndroid Build Coastguard Worker mtmsr %r4, 1 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfmsr 4 # encoding: [0x7c,0x80,0x00,0xa6] 13*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfmsr 4 # encoding: [0xa6,0x00,0x80,0x7c] 14*9880d681SAndroid Build Coastguard Worker mfmsr %r4 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtmsrd 4 # encoding: [0x7c,0x80,0x01,0x64] 17*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtmsrd 4 # encoding: [0x64,0x01,0x80,0x7c] 18*9880d681SAndroid Build Coastguard Worker mtmsrd %r4 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtmsrd 4, 1 # encoding: [0x7c,0x81,0x01,0x64] 21*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtmsrd 4, 1 # encoding: [0x64,0x01,0x81,0x7c] 22*9880d681SAndroid Build Coastguard Worker mtmsrd %r4, 1 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 260 # encoding: [0x7c,0x84,0x42,0xa6] 25*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 260 # encoding: [0xa6,0x42,0x84,0x7c] 26*9880d681SAndroid Build Coastguard Worker mfsprg %r4, 4 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 261 # encoding: [0x7c,0x85,0x42,0xa6] 29*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 261 # encoding: [0xa6,0x42,0x85,0x7c] 30*9880d681SAndroid Build Coastguard Worker mfsprg %r4, 5 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 262 # encoding: [0x7c,0x86,0x42,0xa6] 33*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 262 # encoding: [0xa6,0x42,0x86,0x7c] 34*9880d681SAndroid Build Coastguard Worker mfsprg %r4, 6 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 263 # encoding: [0x7c,0x87,0x42,0xa6] 37*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 263 # encoding: [0xa6,0x42,0x87,0x7c] 38*9880d681SAndroid Build Coastguard Worker mfsprg %r4, 7 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 2, 260 # encoding: [0x7c,0x44,0x42,0xa6] 41*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 2, 260 # encoding: [0xa6,0x42,0x44,0x7c] 42*9880d681SAndroid Build Coastguard Worker mfsprg4 %r2 43*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 2, 261 # encoding: [0x7c,0x45,0x42,0xa6] 44*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 2, 261 # encoding: [0xa6,0x42,0x45,0x7c] 45*9880d681SAndroid Build Coastguard Worker mfsprg5 %r2 46*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 2, 262 # encoding: [0x7c,0x46,0x42,0xa6] 47*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 2, 262 # encoding: [0xa6,0x42,0x46,0x7c] 48*9880d681SAndroid Build Coastguard Worker mfsprg6 %r2 49*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 2, 263 # encoding: [0x7c,0x47,0x42,0xa6] 50*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 2, 263 # encoding: [0xa6,0x42,0x47,0x7c] 51*9880d681SAndroid Build Coastguard Worker mfsprg7 %r2 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-BE: mtspr 260, 4 # encoding: [0x7c,0x90,0x43,0xa6] 54*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-LE: mtspr 260, 4 # encoding: [0xa6,0x43,0x90,0x7c] 55*9880d681SAndroid Build Coastguard Worker mtsprg 4, %r4 56*9880d681SAndroid Build Coastguard Worker 57*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-BE: mtspr 261, 4 # encoding: [0x7c,0x91,0x43,0xa6] 58*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-LE: mtspr 261, 4 # encoding: [0xa6,0x43,0x91,0x7c] 59*9880d681SAndroid Build Coastguard Worker mtsprg 5, %r4 60*9880d681SAndroid Build Coastguard Worker 61*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-BE: mtspr 262, 4 # encoding: [0x7c,0x92,0x43,0xa6] 62*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-LE: mtspr 262, 4 # encoding: [0xa6,0x43,0x92,0x7c] 63*9880d681SAndroid Build Coastguard Worker mtsprg 6, %r4 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-BE: mtspr 263, 4 # encoding: [0x7c,0x93,0x43,0xa6] 66*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-LE: mtspr 263, 4 # encoding: [0xa6,0x43,0x93,0x7c] 67*9880d681SAndroid Build Coastguard Worker mtsprg 7, %r4 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 260, 4 # encoding: [0x7c,0x84,0x43,0xa6] 70*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 260, 4 # encoding: [0xa6,0x43,0x84,0x7c] 71*9880d681SAndroid Build Coastguard Worker mtsprg4 %r4 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 261, 4 # encoding: [0x7c,0x85,0x43,0xa6] 74*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 261, 4 # encoding: [0xa6,0x43,0x85,0x7c] 75*9880d681SAndroid Build Coastguard Worker mtsprg5 %r4 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 262, 4 # encoding: [0x7c,0x86,0x43,0xa6] 78*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 262, 4 # encoding: [0xa6,0x43,0x86,0x7c] 79*9880d681SAndroid Build Coastguard Worker mtsprg6 %r4 80*9880d681SAndroid Build Coastguard Worker 81*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 263, 4 # encoding: [0x7c,0x87,0x43,0xa6] 82*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 263, 4 # encoding: [0xa6,0x43,0x87,0x7c] 83*9880d681SAndroid Build Coastguard Worker mtsprg7 %r4 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 280, 4 # encoding: [0x7c,0x98,0x43,0xa6] 86*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 280, 4 # encoding: [0xa6,0x43,0x98,0x7c] 87*9880d681SAndroid Build Coastguard Worker mtasr %r4 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 22 # encoding: [0x7c,0x96,0x02,0xa6] 90*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 22 # encoding: [0xa6,0x02,0x96,0x7c] 91*9880d681SAndroid Build Coastguard Worker mfdec %r4 92*9880d681SAndroid Build Coastguard Worker 93*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 22, 4 # encoding: [0x7c,0x96,0x03,0xa6] 94*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 22, 4 # encoding: [0xa6,0x03,0x96,0x7c] 95*9880d681SAndroid Build Coastguard Worker mtdec %r4 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfpvr 4 # encoding: [0x7c,0x9f,0x42,0xa6] 98*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfpvr 4 # encoding: [0xa6,0x42,0x9f,0x7c] 99*9880d681SAndroid Build Coastguard Worker mfpvr %r4 100*9880d681SAndroid Build Coastguard Worker 101*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 25 # encoding: [0x7c,0x99,0x02,0xa6] 102*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 25 # encoding: [0xa6,0x02,0x99,0x7c] 103*9880d681SAndroid Build Coastguard Worker mfsdr1 %r4 104*9880d681SAndroid Build Coastguard Worker 105*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 25, 4 # encoding: [0x7c,0x99,0x03,0xa6] 106*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 25, 4 # encoding: [0xa6,0x03,0x99,0x7c] 107*9880d681SAndroid Build Coastguard Worker mtsdr1 %r4 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 26 # encoding: [0x7c,0x9a,0x02,0xa6] 110*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 26 # encoding: [0xa6,0x02,0x9a,0x7c] 111*9880d681SAndroid Build Coastguard Worker mfsrr0 %r4 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 26, 4 # encoding: [0x7c,0x9a,0x03,0xa6] 114*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 26, 4 # encoding: [0xa6,0x03,0x9a,0x7c] 115*9880d681SAndroid Build Coastguard Worker mtsrr0 %r4 116*9880d681SAndroid Build Coastguard Worker 117*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 27 # encoding: [0x7c,0x9b,0x02,0xa6] 118*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 27 # encoding: [0xa6,0x02,0x9b,0x7c] 119*9880d681SAndroid Build Coastguard Worker mfsrr1 %r4 120*9880d681SAndroid Build Coastguard Worker 121*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 27, 4 # encoding: [0x7c,0x9b,0x03,0xa6] 122*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 27, 4 # encoding: [0xa6,0x03,0x9b,0x7c] 123*9880d681SAndroid Build Coastguard Worker mtsrr1 %r4 124*9880d681SAndroid Build Coastguard Worker 125*9880d681SAndroid Build Coastguard Worker# CHECK-BE: slbie 4 # encoding: [0x7c,0x00,0x23,0x64] 126*9880d681SAndroid Build Coastguard Worker# CHECK-LE: slbie 4 # encoding: [0x64,0x23,0x00,0x7c] 127*9880d681SAndroid Build Coastguard Worker slbie %r4 128*9880d681SAndroid Build Coastguard Worker 129*9880d681SAndroid Build Coastguard Worker# CHECK-BE: slbmte 4, 5 # encoding: [0x7c,0x80,0x2b,0x24] 130*9880d681SAndroid Build Coastguard Worker# CHECK-LE: slbmte 4, 5 # encoding: [0x24,0x2b,0x80,0x7c] 131*9880d681SAndroid Build Coastguard Worker slbmte %r4, %r5 132*9880d681SAndroid Build Coastguard Worker 133*9880d681SAndroid Build Coastguard Worker# CHECK-BE: slbmfee 4, 5 # encoding: [0x7c,0x80,0x2f,0x26] 134*9880d681SAndroid Build Coastguard Worker# CHECK-LE: slbmfee 4, 5 # encoding: [0x26,0x2f,0x80,0x7c] 135*9880d681SAndroid Build Coastguard Worker slbmfee %r4, %r5 136*9880d681SAndroid Build Coastguard Worker 137*9880d681SAndroid Build Coastguard Worker# CHECK-BE: slbia # encoding: [0x7c,0x00,0x03,0xe4] 138*9880d681SAndroid Build Coastguard Worker# CHECK-LE: slbia # encoding: [0xe4,0x03,0x00,0x7c] 139*9880d681SAndroid Build Coastguard Worker slbia 140*9880d681SAndroid Build Coastguard Worker 141*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbsync # encoding: [0x7c,0x00,0x04,0x6c] 142*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbsync # encoding: [0x6c,0x04,0x00,0x7c] 143*9880d681SAndroid Build Coastguard Worker tlbsync 144*9880d681SAndroid Build Coastguard Worker 145*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbiel 4 # encoding: [0x7c,0x00,0x22,0x24] 146*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbiel 4 # encoding: [0x24,0x22,0x00,0x7c] 147*9880d681SAndroid Build Coastguard Worker tlbiel %r4 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbie 4 # encoding: [0x7c,0x00,0x22,0x64] 150*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbie 4 # encoding: [0x64,0x22,0x00,0x7c] 151*9880d681SAndroid Build Coastguard Worker tlbie %r4, 0 152*9880d681SAndroid Build Coastguard Worker 153*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbie 4 # encoding: [0x7c,0x00,0x22,0x64] 154*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbie 4 # encoding: [0x64,0x22,0x00,0x7c] 155*9880d681SAndroid Build Coastguard Worker tlbie %r4 156*9880d681SAndroid Build Coastguard Worker 157*9880d681SAndroid Build Coastguard Worker# CHECK-BE: rfi # encoding: [0x4c,0x00,0x00,0x64] 158*9880d681SAndroid Build Coastguard Worker# CHECK-LE: rfi # encoding: [0x64,0x00,0x00,0x4c] 159*9880d681SAndroid Build Coastguard Worker rfi 160*9880d681SAndroid Build Coastguard Worker# CHECK-BE: rfci # encoding: [0x4c,0x00,0x00,0x66] 161*9880d681SAndroid Build Coastguard Worker# CHECK-LE: rfci # encoding: [0x66,0x00,0x00,0x4c] 162*9880d681SAndroid Build Coastguard Worker rfci 163*9880d681SAndroid Build Coastguard Worker 164*9880d681SAndroid Build Coastguard Worker# CHECK-BE: wrtee 12 # encoding: [0x7d,0x80,0x01,0x06] 165*9880d681SAndroid Build Coastguard Worker# CHECK-LE: wrtee 12 # encoding: [0x06,0x01,0x80,0x7d] 166*9880d681SAndroid Build Coastguard Worker wrtee %r12 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Worker# CHECK-BE: wrteei 0 # encoding: [0x7c,0x00,0x01,0x46] 169*9880d681SAndroid Build Coastguard Worker# CHECK-LE: wrteei 0 # encoding: [0x46,0x01,0x00,0x7c] 170*9880d681SAndroid Build Coastguard Worker wrteei 0 171*9880d681SAndroid Build Coastguard Worker 172*9880d681SAndroid Build Coastguard Worker# CHECK-BE: wrteei 1 # encoding: [0x7c,0x00,0x81,0x46] 173*9880d681SAndroid Build Coastguard Worker# CHECK-LE: wrteei 1 # encoding: [0x46,0x81,0x00,0x7c] 174*9880d681SAndroid Build Coastguard Worker wrteei 1 175*9880d681SAndroid Build Coastguard Worker 176*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbre # encoding: [0x7c,0x00,0x07,0x64] 177*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbre # encoding: [0x64,0x07,0x00,0x7c] 178*9880d681SAndroid Build Coastguard Worker tlbre 179*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwe # encoding: [0x7c,0x00,0x07,0xa4] 180*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwe # encoding: [0xa4,0x07,0x00,0x7c] 181*9880d681SAndroid Build Coastguard Worker tlbwe 182*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbivax 11, 12 # encoding: [0x7c,0x0b,0x66,0x24] 183*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbivax 11, 12 # encoding: [0x24,0x66,0x0b,0x7c] 184*9880d681SAndroid Build Coastguard Worker tlbivax %r11, %r12 185*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbsx 11, 12 # encoding: [0x7c,0x0b,0x67,0x24] 186*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbsx 11, 12 # encoding: [0x24,0x67,0x0b,0x7c] 187*9880d681SAndroid Build Coastguard Worker tlbsx %r11, %r12 188