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# Instructions specific to the PowerPC 4xx embedded controllers: 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfdcr 3, 178 # encoding: [0x7c,0x72,0x2a,0x86] 7*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfdcr 3, 178 # encoding: [0x86,0x2a,0x72,0x7c] 8*9880d681SAndroid Build Coastguard Worker mfdcr 3,178 9*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtdcr 178, 3 # encoding: [0x7c,0x72,0x2b,0x86] 10*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtdcr 178, 3 # encoding: [0x86,0x2b,0x72,0x7c] 11*9880d681SAndroid Build Coastguard Worker mtdcr 178,3 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbrehi 2, 3 # encoding: [0x7c,0x43,0x07,0x64] 14*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbrehi 2, 3 # encoding: [0x64,0x07,0x43,0x7c] 15*9880d681SAndroid Build Coastguard Worker tlbre %r2, %r3, 0 16*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbrelo 2, 3 # encoding: [0x7c,0x43,0x0f,0x64] 17*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbrelo 2, 3 # encoding: [0x64,0x0f,0x43,0x7c] 18*9880d681SAndroid Build Coastguard Worker tlbre %r2, %r3, 1 19*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbrehi 2, 3 # encoding: [0x7c,0x43,0x07,0x64] 20*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbrehi 2, 3 # encoding: [0x64,0x07,0x43,0x7c] 21*9880d681SAndroid Build Coastguard Worker tlbrehi %r2, %r3 22*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbrelo 2, 3 # encoding: [0x7c,0x43,0x0f,0x64] 23*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbrelo 2, 3 # encoding: [0x64,0x0f,0x43,0x7c] 24*9880d681SAndroid Build Coastguard Worker tlbrelo %r2, %r3 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwehi 2, 3 # encoding: [0x7c,0x43,0x07,0xa4] 27*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwehi 2, 3 # encoding: [0xa4,0x07,0x43,0x7c] 28*9880d681SAndroid Build Coastguard Worker tlbwe %r2, %r3, 0 29*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwelo 2, 3 # encoding: [0x7c,0x43,0x0f,0xa4] 30*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwelo 2, 3 # encoding: [0xa4,0x0f,0x43,0x7c] 31*9880d681SAndroid Build Coastguard Worker tlbwe %r2, %r3, 1 32*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwehi 2, 3 # encoding: [0x7c,0x43,0x07,0xa4] 33*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwehi 2, 3 # encoding: [0xa4,0x07,0x43,0x7c] 34*9880d681SAndroid Build Coastguard Worker tlbwehi %r2, %r3 35*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwelo 2, 3 # encoding: [0x7c,0x43,0x0f,0xa4] 36*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwelo 2, 3 # encoding: [0xa4,0x0f,0x43,0x7c] 37*9880d681SAndroid Build Coastguard Worker tlbwelo %r2, %r3 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbsx 2, 3, 1 # encoding: [0x7c,0x43,0x0f,0x24] 40*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbsx 2, 3, 1 # encoding: [0x24,0x0f,0x43,0x7c] 41*9880d681SAndroid Build Coastguard Worker tlbsx %r2, %r3, %r1 42*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbsx. 2, 3, 1 # encoding: [0x7c,0x43,0x0f,0x25] 43*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbsx. 2, 3, 1 # encoding: [0x25,0x0f,0x43,0x7c] 44*9880d681SAndroid Build Coastguard Worker tlbsx. %r2, %r3, %r1 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfdccr 2 # encoding: [0x7c,0x5a,0xfa,0xa6] 47*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfdccr 2 # encoding: [0xa6,0xfa,0x5a,0x7c] 48*9880d681SAndroid Build Coastguard Worker mfdccr %r2 49*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtdccr 2 # encoding: [0x7c,0x5a,0xfb,0xa6] 50*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtdccr 2 # encoding: [0xa6,0xfb,0x5a,0x7c] 51*9880d681SAndroid Build Coastguard Worker mtdccr %r2 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mficcr 2 # encoding: [0x7c,0x5b,0xfa,0xa6] 54*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mficcr 2 # encoding: [0xa6,0xfa,0x5b,0x7c] 55*9880d681SAndroid Build Coastguard Worker mficcr %r2 56*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mticcr 2 # encoding: [0x7c,0x5b,0xfb,0xa6] 57*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mticcr 2 # encoding: [0xa6,0xfb,0x5b,0x7c] 58*9880d681SAndroid Build Coastguard Worker mticcr %r2 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfdear 2 # encoding: [0x7c,0x55,0xf2,0xa6] 61*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfdear 2 # encoding: [0xa6,0xf2,0x55,0x7c] 62*9880d681SAndroid Build Coastguard Worker mfdear %r2 63*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtdear 2 # encoding: [0x7c,0x55,0xf3,0xa6] 64*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtdear 2 # encoding: [0xa6,0xf3,0x55,0x7c] 65*9880d681SAndroid Build Coastguard Worker mtdear %r2 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfesr 2 # encoding: [0x7c,0x54,0xf2,0xa6] 68*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfesr 2 # encoding: [0xa6,0xf2,0x54,0x7c] 69*9880d681SAndroid Build Coastguard Worker mfesr %r2 70*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtesr 2 # encoding: [0x7c,0x54,0xf3,0xa6] 71*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtesr 2 # encoding: [0xa6,0xf3,0x54,0x7c] 72*9880d681SAndroid Build Coastguard Worker mtesr %r2 73*9880d681SAndroid Build Coastguard Worker 74*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mftcr 2 # encoding: [0x7c,0x5a,0xf2,0xa6] 75*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mftcr 2 # encoding: [0xa6,0xf2,0x5a,0x7c] 76*9880d681SAndroid Build Coastguard Worker mftcr %r2 77*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mttcr 2 # encoding: [0x7c,0x5a,0xf3,0xa6] 78*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mttcr 2 # encoding: [0xa6,0xf3,0x5a,0x7c] 79*9880d681SAndroid Build Coastguard Worker mttcr %r2 80*9880d681SAndroid Build Coastguard Worker 81*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mftblo 2 # encoding: [0x7c,0x5d,0xf2,0xa6] 82*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mftblo 2 # encoding: [0xa6,0xf2,0x5d,0x7c] 83*9880d681SAndroid Build Coastguard Worker mftblo %r2 84*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mttblo 2 # encoding: [0x7c,0x5d,0xf3,0xa6] 85*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mttblo 2 # encoding: [0xa6,0xf3,0x5d,0x7c] 86*9880d681SAndroid Build Coastguard Worker mttblo %r2 87*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mftbhi 2 # encoding: [0x7c,0x5c,0xf2,0xa6] 88*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mftbhi 2 # encoding: [0xa6,0xf2,0x5c,0x7c] 89*9880d681SAndroid Build Coastguard Worker mftbhi %r2 90*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mttbhi 2 # encoding: [0x7c,0x5c,0xf3,0xa6] 91*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mttbhi 2 # encoding: [0xa6,0xf3,0x5c,0x7c] 92*9880d681SAndroid Build Coastguard Worker mttbhi %r2 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard Worker# CHECK-BE: dccci 5, 6 # encoding: [0x7c,0x05,0x33,0x8c] 95*9880d681SAndroid Build Coastguard Worker# CHECK-LE: dccci 5, 6 # encoding: [0x8c,0x33,0x05,0x7c] 96*9880d681SAndroid Build Coastguard Worker dccci %r5,%r6 97*9880d681SAndroid Build Coastguard Worker# CHECK-BE: iccci 5, 6 # encoding: [0x7c,0x05,0x37,0x8c] 98*9880d681SAndroid Build Coastguard Worker# CHECK-LE: iccci 5, 6 # encoding: [0x8c,0x37,0x05,0x7c] 99*9880d681SAndroid Build Coastguard Worker iccci %r5,%r6 100*9880d681SAndroid Build Coastguard Worker# CHECK-BE: dccci 0, 0 # encoding: [0x7c,0x00,0x03,0x8c] 101*9880d681SAndroid Build Coastguard Worker# CHECK-LE: dccci 0, 0 # encoding: [0x8c,0x03,0x00,0x7c] 102*9880d681SAndroid Build Coastguard Worker dci %r0 103*9880d681SAndroid Build Coastguard Worker# CHECK-BE: iccci 0, 0 # encoding: [0x7c,0x00,0x07,0x8c] 104*9880d681SAndroid Build Coastguard Worker# CHECK-LE: iccci 0, 0 # encoding: [0x8c,0x07,0x00,0x7c] 105*9880d681SAndroid Build Coastguard Worker ici 0 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfsrr2 2 # encoding: [0x7c,0x5e,0xf2,0xa6] 108*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfsrr2 2 # encoding: [0xa6,0xf2,0x5e,0x7c] 109*9880d681SAndroid Build Coastguard Worker mfsrr2 2 110*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtsrr2 2 # encoding: [0x7c,0x5e,0xf3,0xa6] 111*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtsrr2 2 # encoding: [0xa6,0xf3,0x5e,0x7c] 112*9880d681SAndroid Build Coastguard Worker mtsrr2 2 113*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfsrr3 2 # encoding: [0x7c,0x5f,0xf2,0xa6] 114*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfsrr3 2 # encoding: [0xa6,0xf2,0x5f,0x7c] 115*9880d681SAndroid Build Coastguard Worker mfsrr3 2 116*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtsrr3 2 # encoding: [0x7c,0x5f,0xf3,0xa6] 117*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtsrr3 2 # encoding: [0xa6,0xf3,0x5f,0x7c] 118*9880d681SAndroid Build Coastguard Worker mtsrr3 2 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr0 5 # encoding: [0x7c,0xa0,0x22,0x86] 121*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr0 5 # encoding: [0x86,0x22,0xa0,0x7c] 122*9880d681SAndroid Build Coastguard Worker mfbr0 %r5 123*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr0 5 # encoding: [0x7c,0xa0,0x23,0x86] 124*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr0 5 # encoding: [0x86,0x23,0xa0,0x7c] 125*9880d681SAndroid Build Coastguard Worker mtbr0 %r5 126*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr1 5 # encoding: [0x7c,0xa1,0x22,0x86] 127*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr1 5 # encoding: [0x86,0x22,0xa1,0x7c] 128*9880d681SAndroid Build Coastguard Worker mfbr1 %r5 129*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr1 5 # encoding: [0x7c,0xa1,0x23,0x86] 130*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr1 5 # encoding: [0x86,0x23,0xa1,0x7c] 131*9880d681SAndroid Build Coastguard Worker mtbr1 %r5 132*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr2 5 # encoding: [0x7c,0xa2,0x22,0x86] 133*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr2 5 # encoding: [0x86,0x22,0xa2,0x7c] 134*9880d681SAndroid Build Coastguard Worker mfbr2 %r5 135*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr2 5 # encoding: [0x7c,0xa2,0x23,0x86] 136*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr2 5 # encoding: [0x86,0x23,0xa2,0x7c] 137*9880d681SAndroid Build Coastguard Worker mtbr2 %r5 138*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr3 5 # encoding: [0x7c,0xa3,0x22,0x86] 139*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr3 5 # encoding: [0x86,0x22,0xa3,0x7c] 140*9880d681SAndroid Build Coastguard Worker mfbr3 %r5 141*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr3 5 # encoding: [0x7c,0xa3,0x23,0x86] 142*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr3 5 # encoding: [0x86,0x23,0xa3,0x7c] 143*9880d681SAndroid Build Coastguard Worker mtbr3 %r5 144*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr4 5 # encoding: [0x7c,0xa4,0x22,0x86] 145*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr4 5 # encoding: [0x86,0x22,0xa4,0x7c] 146*9880d681SAndroid Build Coastguard Worker mfbr4 %r5 147*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr4 5 # encoding: [0x7c,0xa4,0x23,0x86] 148*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr4 5 # encoding: [0x86,0x23,0xa4,0x7c] 149*9880d681SAndroid Build Coastguard Worker mtbr4 %r5 150*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr5 5 # encoding: [0x7c,0xa5,0x22,0x86] 151*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr5 5 # encoding: [0x86,0x22,0xa5,0x7c] 152*9880d681SAndroid Build Coastguard Worker mfbr5 %r5 153*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr5 5 # encoding: [0x7c,0xa5,0x23,0x86] 154*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr5 5 # encoding: [0x86,0x23,0xa5,0x7c] 155*9880d681SAndroid Build Coastguard Worker mtbr5 %r5 156*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr6 5 # encoding: [0x7c,0xa6,0x22,0x86] 157*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr6 5 # encoding: [0x86,0x22,0xa6,0x7c] 158*9880d681SAndroid Build Coastguard Worker mfbr6 %r5 159*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr6 5 # encoding: [0x7c,0xa6,0x23,0x86] 160*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr6 5 # encoding: [0x86,0x23,0xa6,0x7c] 161*9880d681SAndroid Build Coastguard Worker mtbr6 %r5 162*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr7 5 # encoding: [0x7c,0xa7,0x22,0x86] 163*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr7 5 # encoding: [0x86,0x22,0xa7,0x7c] 164*9880d681SAndroid Build Coastguard Worker mfbr7 %r5 165*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr7 5 # encoding: [0x7c,0xa7,0x23,0x86] 166*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr7 5 # encoding: [0x86,0x23,0xa7,0x7c] 167*9880d681SAndroid Build Coastguard Worker mtbr7 %r5 168