18e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand 236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s 336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s 48e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand 58e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand# Cache management instruction 68e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand 736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: icbi 2, 3 # encoding: [0x7c,0x02,0x1f,0xac] 836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: icbi 2, 3 # encoding: [0xac,0x1f,0x02,0x7c] 936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines icbi 2, 3 1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: dcbt 2, 3, 10 1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: dcbt 2, 3 # encoding: [0x7c,0x02,0x1a,0x2c] 1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: dcbt 2, 3 # encoding: [0x2c,0x1a,0x02,0x7c] 1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines dcbt 2, 3 1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: dcbtst 2, 3, 10 1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: dcbtst 2, 3 # encoding: [0x7c,0x02,0x19,0xec] 1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: dcbtst 2, 3 # encoding: [0xec,0x19,0x02,0x7c] 1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines dcbtst 2, 3 1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: dcbz 2, 3 # encoding: [0x7c,0x02,0x1f,0xec] 2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: dcbz 2, 3 # encoding: [0xec,0x1f,0x02,0x7c] 2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines dcbz 2, 3 2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: dcbst 2, 3 # encoding: [0x7c,0x02,0x18,0x6c] 2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: dcbst 2, 3 # encoding: [0x6c,0x18,0x02,0x7c] 2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines dcbst 2, 3 2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: dcbf 2, 3, 1 268e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand 278e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand# Synchronization instructions 288e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand 2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: isync # encoding: [0x4c,0x00,0x01,0x2c] 3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: isync # encoding: [0x2c,0x01,0x00,0x4c] 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines isync 3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: lbarx 2, 3, 4, 1 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: lharx 2, 3, 4, 1 3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: lwarx 2, 3, 4, 1 3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: ldarx 2, 3, 4, 1 3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: stbcx. 2, 3, 4 3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: sthcx. 2, 3, 4 4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: stwcx. 2, 3, 4 # encoding: [0x7c,0x43,0x21,0x2d] 4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: stwcx. 2, 3, 4 # encoding: [0x2d,0x21,0x43,0x7c] 4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines stwcx. 2, 3, 4 4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: stdcx. 2, 3, 4 # encoding: [0x7c,0x43,0x21,0xad] 4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: stdcx. 2, 3, 4 # encoding: [0xad,0x21,0x43,0x7c] 4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines stdcx. 2, 3, 4 4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: sync 2 # encoding: [0x7c,0x40,0x04,0xac] 4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: sync 2 # encoding: [0xac,0x04,0x40,0x7c] 4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sync 2 5036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: eieio # encoding: [0x7c,0x00,0x06,0xac] 5136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: eieio # encoding: [0xac,0x06,0x00,0x7c] 5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines eieio 5336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: wait 2 # encoding: [0x7c,0x40,0x00,0x7c] 5436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: wait 2 # encoding: [0x7c,0x00,0x40,0x7c] 5536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines wait 2 568e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand 578e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand# Extended mnemonics 588e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand 5936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: dcbf 2, 3 # encoding: [0x7c,0x02,0x18,0xac] 6036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: dcbf 2, 3 # encoding: [0xac,0x18,0x02,0x7c] 6136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines dcbf 2, 3 6236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: dcbfl 2, 3 6336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 6436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: lbarx 2, 3, 4 6536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# FIXME: lharx 2, 3, 4 6636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: lwarx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x28] 6736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: lwarx 2, 3, 4 # encoding: [0x28,0x20,0x43,0x7c] 6836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lwarx 2, 3, 4 6936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: ldarx 2, 3, 4 # encoding: [0x7c,0x43,0x20,0xa8] 7036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: ldarx 2, 3, 4 # encoding: [0xa8,0x20,0x43,0x7c] 7136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ldarx 2, 3, 4 7236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 7336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: sync 0 # encoding: [0x7c,0x00,0x04,0xac] 7436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: sync 0 # encoding: [0xac,0x04,0x00,0x7c] 7536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sync 7636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: sync 0 # encoding: [0x7c,0x00,0x04,0xac] 7736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: sync 0 # encoding: [0xac,0x04,0x00,0x7c] 7836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines msync 7936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: sync 1 # encoding: [0x7c,0x20,0x04,0xac] 8036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: sync 1 # encoding: [0xac,0x04,0x20,0x7c] 8136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lwsync 8236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: sync 2 # encoding: [0x7c,0x40,0x04,0xac] 8336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: sync 2 # encoding: [0xac,0x04,0x40,0x7c] 8436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ptesync 8536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 8636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: wait 0 # encoding: [0x7c,0x00,0x00,0x7c] 8736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: wait 0 # encoding: [0x7c,0x00,0x00,0x7c] 8836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines wait 8936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: wait 1 # encoding: [0x7c,0x20,0x00,0x7c] 9036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: wait 1 # encoding: [0x7c,0x00,0x20,0x7c] 9136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines waitrsv 9236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: wait 2 # encoding: [0x7c,0x40,0x00,0x7c] 9336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: wait 2 # encoding: [0x7c,0x00,0x40,0x7c] 9436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines waitimpl 958e4ba8f7b19615907e5874b3aa661d52c21fff74Ulrich Weigand 9619d2b78978905cfde0a0d7190c8480219fb2d1c6Ulrich Weigand# Time base instructions 9719d2b78978905cfde0a0d7190c8480219fb2d1c6Ulrich Weigand 9836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: mftb 2, 123 # encoding: [0x7c,0x5b,0x1a,0xe6] 9936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: mftb 2, 123 # encoding: [0xe6,0x1a,0x5b,0x7c] 10036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines mftb 2, 123 10136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: mftb 2, 268 # encoding: [0x7c,0x4c,0x42,0xe6] 10236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: mftb 2, 268 # encoding: [0xe6,0x42,0x4c,0x7c] 10336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines mftb 2 10436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-BE: mftb 2, 269 # encoding: [0x7c,0x4d,0x42,0xe6] 10536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-LE: mftb 2, 269 # encoding: [0xe6,0x42,0x4d,0x7c] 10636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines mftbu 2 10719d2b78978905cfde0a0d7190c8480219fb2d1c6Ulrich Weigand 108