diff options
| author | Chuang-Yu Cheng <cycheng@multicorewareinc.com> | 2016-04-06 01:46:45 +0000 |
|---|---|---|
| committer | Chuang-Yu Cheng <cycheng@multicorewareinc.com> | 2016-04-06 01:46:45 +0000 |
| commit | eaf4b3d75ca523b19b4da1a329775ae988633c07 (patch) | |
| tree | 9bdea760473e82efca557257789ae7d44f4c8a52 /llvm/test | |
| parent | 99abb2728b1fed706c892d93327ebb3bcc0c939c (diff) | |
| download | bcm5719-llvm-eaf4b3d75ca523b19b4da1a329775ae988633c07.tar.gz bcm5719-llvm-eaf4b3d75ca523b19b4da1a329775ae988633c07.zip | |
[Power9] Implement copy-paste, msgsync, slb, and stop instructions
This patch implements the following BookII and Book III instructions:
- copy copy_first cp_abort paste paste. paste_last
- msgsync
- slbieg slbsync
- stop
Total 10 instructions
Reviewers: nemanjai hfinkel tjablin amehsan kbarton
llvm-svn: 265504
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/MC/Disassembler/PowerPC/ppc64-encoding.txt | 21 | ||||
| -rw-r--r-- | llvm/test/MC/PowerPC/ppc64-encoding-ext.s | 13 | ||||
| -rw-r--r-- | llvm/test/MC/PowerPC/ppc64-encoding.s | 31 |
3 files changed, 65 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding.txt b/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding.txt index aa2552ddac1..b18d056046e 100644 --- a/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding.txt +++ b/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding.txt @@ -669,3 +669,24 @@ # CHECK: mfsrin 10, 12 0x7d 0x40 0x65 0x26 + +# CHECK: copy 2, 19, 1 +0x7c 0x22 0x9e 0x0c + +# CHECK: paste 17, 1, 1 +0x7c 0x31 0x0f 0x0c + +# CHECK: cp_abort +0x7c 0x00 0x06 0x8c + +# CHECK: msgsync +0x7c 0x00 0x06 0xec + +# CHECK: slbieg 6, 21 +0x7c 0xc0 0xab 0xa4 + +# CHECK: slbsync +0x7c 0x00 0x02 0xa4 + +# CHECK: stop +0x4c 0x00 0x02 0xe4 diff --git a/llvm/test/MC/PowerPC/ppc64-encoding-ext.s b/llvm/test/MC/PowerPC/ppc64-encoding-ext.s index 143a30606f0..682a737547d 100644 --- a/llvm/test/MC/PowerPC/ppc64-encoding-ext.s +++ b/llvm/test/MC/PowerPC/ppc64-encoding-ext.s @@ -3666,3 +3666,16 @@ # CHECK-LE: attn # encoding: [0x00,0x02,0x00,0x00] attn +# Copy-Paste Facility (Extended Mnemonics): +# CHECK-BE: copy 2, 19, 0 # encoding: [0x7c,0x02,0x9e,0x0c] +# CHECK-LE: copy 2, 19, 0 # encoding: [0x0c,0x9e,0x02,0x7c] + copy 2, 19 +# CHECK-BE: copy 2, 19, 1 # encoding: [0x7c,0x22,0x9e,0x0c] +# CHECK-LE: copy 2, 19, 1 # encoding: [0x0c,0x9e,0x22,0x7c] + copy_first 2, 19 +# CHECK-BE: paste 17, 1, 0 # encoding: [0x7c,0x11,0x0f,0x0c] +# CHECK-LE: paste 17, 1, 0 # encoding: [0x0c,0x0f,0x11,0x7c] + paste 17, 1 +# CHECK-BE: paste. 17, 1, 1 # encoding: [0x7c,0x31,0x0f,0x0d] +# CHECK-LE: paste. 17, 1, 1 # encoding: [0x0d,0x0f,0x31,0x7c] + paste_last 17, 1 diff --git a/llvm/test/MC/PowerPC/ppc64-encoding.s b/llvm/test/MC/PowerPC/ppc64-encoding.s index 84f1812b56a..f809aa412eb 100644 --- a/llvm/test/MC/PowerPC/ppc64-encoding.s +++ b/llvm/test/MC/PowerPC/ppc64-encoding.s @@ -854,3 +854,34 @@ # CHECK-BE: mfsrin 10, 12 # encoding: [0x7d,0x40,0x65,0x26] # CHECK-LE: mfsrin 10, 12 # encoding: [0x26,0x65,0x40,0x7d] mfsrin %r10,%r12 + +# Copy-Paste Facility +# CHECK-BE: copy 2, 19, 1 # encoding: [0x7c,0x22,0x9e,0x0c] +# CHECK-LE: copy 2, 19, 1 # encoding: [0x0c,0x9e,0x22,0x7c] + copy 2, 19, 1 +# CHECK-BE: paste 17, 1, 1 # encoding: [0x7c,0x31,0x0f,0x0c] +# CHECK-LE: paste 17, 1, 1 # encoding: [0x0c,0x0f,0x31,0x7c] + paste 17, 1, 1 +# CHECK-BE: cp_abort # encoding: [0x7c,0x00,0x06,0x8c] +# CHECK-LE: cp_abort # encoding: [0x8c,0x06,0x00,0x7c] + cp_abort + +# Message Synchronize +# CHECK-BE: msgsync # encoding: [0x7c,0x00,0x06,0xec] +# CHECK-LE: msgsync # encoding: [0xec,0x06,0x00,0x7c] + msgsync + +# SLB Invalidate Entry Global +# CHECK-BE: slbieg 6, 21 # encoding: [0x7c,0xc0,0xab,0xa4] +# CHECK-LE: slbieg 6, 21 # encoding: [0xa4,0xab,0xc0,0x7c] + slbieg 6, 21 + +# SLB Synchronize +# CHECK-BE: slbsync # encoding: [0x7c,0x00,0x02,0xa4] +# CHECK-LE: slbsync # encoding: [0xa4,0x02,0x00,0x7c] + slbsync + +# Power-Saving Mode Instruction +# CHECK-BE: stop # encoding: [0x4c,0x00,0x02,0xe4] +# CHECK-LE: stop # encoding: [0xe4,0x02,0x00,0x4c] + stop |

