From 3c99602ca87f604080e367838180c3d63f6931f3 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Thu, 4 Jul 2013 14:40:12 +0000 Subject: [PowerPC] Add all trap mnemonics This adds support for all basic and extended variants of the trap instructions to the asm parser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185638 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/MC/PowerPC/ppc64-encoding-ext.s | 140 ++++++++++++++++++++++++++++++++++- test/MC/PowerPC/ppc64-encoding.s | 11 ++- 2 files changed, 149 insertions(+), 2 deletions(-) (limited to 'test/MC/PowerPC') diff --git a/test/MC/PowerPC/ppc64-encoding-ext.s b/test/MC/PowerPC/ppc64-encoding-ext.s index 9bbeba0..a9c313a 100644 --- a/test/MC/PowerPC/ppc64-encoding-ext.s +++ b/test/MC/PowerPC/ppc64-encoding-ext.s @@ -1951,7 +1951,145 @@ # CHECK: cmplw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x40] cmplw 3, 4 -# FIXME: Trap mnemonics +# Trap mnemonics + +# CHECK: twi 16, 3, 4 # encoding: [0x0e,0x03,0x00,0x04] + twlti 3, 4 +# CHECK: tw 16, 3, 4 # encoding: [0x7e,0x03,0x20,0x08] + twlt 3, 4 +# CHECK: tdi 16, 3, 4 # encoding: [0x0a,0x03,0x00,0x04] + tdlti 3, 4 +# CHECK: td 16, 3, 4 # encoding: [0x7e,0x03,0x20,0x88] + tdlt 3, 4 + +# CHECK: twi 20, 3, 4 # encoding: [0x0e,0x83,0x00,0x04] + twlei 3, 4 +# CHECK: tw 20, 3, 4 # encoding: [0x7e,0x83,0x20,0x08] + twle 3, 4 +# CHECK: tdi 20, 3, 4 # encoding: [0x0a,0x83,0x00,0x04] + tdlei 3, 4 +# CHECK: td 20, 3, 4 # encoding: [0x7e,0x83,0x20,0x88] + tdle 3, 4 + +# CHECK: twi 4, 3, 4 # encoding: [0x0c,0x83,0x00,0x04] + tweqi 3, 4 +# CHECK: tw 4, 3, 4 # encoding: [0x7c,0x83,0x20,0x08] + tweq 3, 4 +# CHECK: tdi 4, 3, 4 # encoding: [0x08,0x83,0x00,0x04] + tdeqi 3, 4 +# CHECK: td 4, 3, 4 # encoding: [0x7c,0x83,0x20,0x88] + tdeq 3, 4 + +# CHECK: twi 12, 3, 4 # encoding: [0x0d,0x83,0x00,0x04] + twgei 3, 4 +# CHECK: tw 12, 3, 4 # encoding: [0x7d,0x83,0x20,0x08] + twge 3, 4 +# CHECK: tdi 12, 3, 4 # encoding: [0x09,0x83,0x00,0x04] + tdgei 3, 4 +# CHECK: td 12, 3, 4 # encoding: [0x7d,0x83,0x20,0x88] + tdge 3, 4 + +# CHECK: twi 8, 3, 4 # encoding: [0x0d,0x03,0x00,0x04] + twgti 3, 4 +# CHECK: tw 8, 3, 4 # encoding: [0x7d,0x03,0x20,0x08] + twgt 3, 4 +# CHECK: tdi 8, 3, 4 # encoding: [0x09,0x03,0x00,0x04] + tdgti 3, 4 +# CHECK: td 8, 3, 4 # encoding: [0x7d,0x03,0x20,0x88] + tdgt 3, 4 + +# CHECK: twi 12, 3, 4 # encoding: [0x0d,0x83,0x00,0x04] + twnli 3, 4 +# CHECK: tw 12, 3, 4 # encoding: [0x7d,0x83,0x20,0x08] + twnl 3, 4 +# CHECK: tdi 12, 3, 4 # encoding: [0x09,0x83,0x00,0x04] + tdnli 3, 4 +# CHECK: td 12, 3, 4 # encoding: [0x7d,0x83,0x20,0x88] + tdnl 3, 4 + +# CHECK: twi 24, 3, 4 # encoding: [0x0f,0x03,0x00,0x04] + twnei 3, 4 +# CHECK: tw 24, 3, 4 # encoding: [0x7f,0x03,0x20,0x08] + twne 3, 4 +# CHECK: tdi 24, 3, 4 # encoding: [0x0b,0x03,0x00,0x04] + tdnei 3, 4 +# CHECK: td 24, 3, 4 # encoding: [0x7f,0x03,0x20,0x88] + tdne 3, 4 + +# CHECK: twi 20, 3, 4 # encoding: [0x0e,0x83,0x00,0x04] + twngi 3, 4 +# CHECK: tw 20, 3, 4 # encoding: [0x7e,0x83,0x20,0x08] + twng 3, 4 +# CHECK: tdi 20, 3, 4 # encoding: [0x0a,0x83,0x00,0x04] + tdngi 3, 4 +# CHECK: td 20, 3, 4 # encoding: [0x7e,0x83,0x20,0x88] + tdng 3, 4 + +# CHECK: twi 2, 3, 4 # encoding: [0x0c,0x43,0x00,0x04] + twllti 3, 4 +# CHECK: tw 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x08] + twllt 3, 4 +# CHECK: tdi 2, 3, 4 # encoding: [0x08,0x43,0x00,0x04] + tdllti 3, 4 +# CHECK: td 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x88] + tdllt 3, 4 + +# CHECK: twi 6, 3, 4 # encoding: [0x0c,0xc3,0x00,0x04] + twllei 3, 4 +# CHECK: tw 6, 3, 4 # encoding: [0x7c,0xc3,0x20,0x08] + twlle 3, 4 +# CHECK: tdi 6, 3, 4 # encoding: [0x08,0xc3,0x00,0x04] + tdllei 3, 4 +# CHECK: td 6, 3, 4 # encoding: [0x7c,0xc3,0x20,0x88] + tdlle 3, 4 + +# CHECK: twi 5, 3, 4 # encoding: [0x0c,0xa3,0x00,0x04] + twlgei 3, 4 +# CHECK: tw 5, 3, 4 # encoding: [0x7c,0xa3,0x20,0x08] + twlge 3, 4 +# CHECK: tdi 5, 3, 4 # encoding: [0x08,0xa3,0x00,0x04] + tdlgei 3, 4 +# CHECK: td 5, 3, 4 # encoding: [0x7c,0xa3,0x20,0x88] + tdlge 3, 4 + +# CHECK: twi 1, 3, 4 # encoding: [0x0c,0x23,0x00,0x04] + twlgti 3, 4 +# CHECK: tw 1, 3, 4 # encoding: [0x7c,0x23,0x20,0x08] + twlgt 3, 4 +# CHECK: tdi 1, 3, 4 # encoding: [0x08,0x23,0x00,0x04] + tdlgti 3, 4 +# CHECK: td 1, 3, 4 # encoding: [0x7c,0x23,0x20,0x88] + tdlgt 3, 4 + +# CHECK: twi 5, 3, 4 # encoding: [0x0c,0xa3,0x00,0x04] + twlnli 3, 4 +# CHECK: tw 5, 3, 4 # encoding: [0x7c,0xa3,0x20,0x08] + twlnl 3, 4 +# CHECK: tdi 5, 3, 4 # encoding: [0x08,0xa3,0x00,0x04] + tdlnli 3, 4 +# CHECK: td 5, 3, 4 # encoding: [0x7c,0xa3,0x20,0x88] + tdlnl 3, 4 + +# CHECK: twi 6, 3, 4 # encoding: [0x0c,0xc3,0x00,0x04] + twlngi 3, 4 +# CHECK: tw 6, 3, 4 # encoding: [0x7c,0xc3,0x20,0x08] + twlng 3, 4 +# CHECK: tdi 6, 3, 4 # encoding: [0x08,0xc3,0x00,0x04] + tdlngi 3, 4 +# CHECK: td 6, 3, 4 # encoding: [0x7c,0xc3,0x20,0x88] + tdlng 3, 4 + +# CHECK: twi 31, 3, 4 # encoding: [0x0f,0xe3,0x00,0x04] + twui 3, 4 +# CHECK: tw 31, 3, 4 # encoding: [0x7f,0xe3,0x20,0x08] + twu 3, 4 +# CHECK: tdi 31, 3, 4 # encoding: [0x0b,0xe3,0x00,0x04] + tdui 3, 4 +# CHECK: td 31, 3, 4 # encoding: [0x7f,0xe3,0x20,0x88] + tdu 3, 4 + +# CHECK: trap # encoding: [0x7f,0xe0,0x00,0x08] + trap # Rotate and shift mnemonics diff --git a/test/MC/PowerPC/ppc64-encoding.s b/test/MC/PowerPC/ppc64-encoding.s index 002bb51..eac039a 100644 --- a/test/MC/PowerPC/ppc64-encoding.s +++ b/test/MC/PowerPC/ppc64-encoding.s @@ -346,7 +346,16 @@ # FIXME: Fixed-point compare instructions -# FIXME: Fixed-point trap instructions +# Fixed-point trap instructions + +# CHECK: twi 2, 3, 4 # encoding: [0x0c,0x43,0x00,0x04] + twi 2, 3, 4 +# CHECK: tw 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x08] + tw 2, 3, 4 +# CHECK: tdi 2, 3, 4 # encoding: [0x08,0x43,0x00,0x04] + tdi 2, 3, 4 +# CHECK: td 2, 3, 4 # encoding: [0x7c,0x43,0x20,0x88] + td 2, 3, 4 # Fixed-point select -- cgit v1.1