diff options
author | Peter Bergner <bergner@vnet.ibm.com> | 2008-08-02 04:38:51 +0000 |
---|---|---|
committer | Peter Bergner <bergner@vnet.ibm.com> | 2008-08-02 04:38:51 +0000 |
commit | 9b4e57660d385d9135549aeb8360ebfa14fb3990 (patch) | |
tree | e508e99bbab020f78ccd3b320ca8bf30b1b95b96 /gas/testsuite | |
parent | dbe454a3b5f62a101aa4a8b290a7c63a40f8ac52 (diff) | |
download | gdb-9b4e57660d385d9135549aeb8360ebfa14fb3990.zip gdb-9b4e57660d385d9135549aeb8360ebfa14fb3990.tar.gz gdb-9b4e57660d385d9135549aeb8360ebfa14fb3990.tar.bz2 |
gas/
* config/tc-ppc.c (parse_cpu): Rename altivec_or_spe to retain_flags.
Handle -mvsx and -mpower7.
(md_show_usage): Document -mpower7 and -mvsx.
* doc/as.texinfo (Target PowerPC): Document -mvsx.
* doc/c-ppc.texi (PowerPC-Opts): Document -mvsx and -mpower7.
gas/testsuite/
* gas/ppc/power7.d: New.
* gas/ppc/power7.s: Likewise.
* gas/ppc/ppc.exp: Run power7 test.
include/opcode/
* ppc.h (PPC_OPCODE_VSX, PPC_OPERAND_VSR): New.
opcodes/
* ppc-dis.c (powerpc_init_dialect): Handle power7 and vsx options.
(print_insn_powerpc): Prepend 'vs' when printing VSX registers.
(print_ppc_disassembler_options): Document -Mpower7 and -Mvsx.
* ppc-opc.c (insert_xt6): New static function.
(extract_xt6): Likewise.
(insert_xa6): Likewise.
(extract_xa6: Likewise.
(insert_xb6): Likewise.
(extract_xb6): Likewise.
(insert_xb6s): Likewise.
(extract_xb6s): Likewise.
(XS6, XT6, XA6, XB6, XB6S, DM, XX3, XX3DM, XX1_MASK, XX3_MASK,
XX3DM_MASK, PPCVSX): New.
(powerpc_opcodes): Add opcodes "lxvd2x", "lxvd2ux", "stxvd2x",
"stxvd2ux", "xxmrghd", "xxmrgld", "xxpermdi", "xvmovdp", "xvcpsgndp".
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/power7.d | 57 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/power7.s | 58 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/ppc.exp | 1 |
4 files changed, 122 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 1ea3df5..7516f50 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2008-08-01 Peter Bergner <bergner@vnet.ibm.com> + + * gas/ppc/power7.d: New. + * gas/ppc/power7.s: Likewise. + * gas/ppc/ppc.exp: Run power7 test. + 2008-08-01 H.J. Lu <hongjiu.lu@intel.com> * gas/cfi/cfi-i386.s: Remove tests for AVX register maps. diff --git a/gas/testsuite/gas/ppc/power7.d b/gas/testsuite/gas/ppc/power7.d new file mode 100644 index 0000000..0401343 --- /dev/null +++ b/gas/testsuite/gas/ppc/power7.d @@ -0,0 +1,57 @@ +#as: -a32 -mpower7 +#objdump: -dr -Mpower7 +#name: POWER7 tests (includes DFP, Altivec and VSX) + +.*: +file format elf32-powerpc.* + +Disassembly of section \.text: + +0+00 <power7>: + 0: 7c 64 2e 98 lxvd2x vs3,r4,r5 + 4: 7c 64 2e d8 lxvd2ux vs3,r4,r5 + 8: 7d 64 2e 99 lxvd2x vs43,r4,r5 + c: 7d 64 2e d9 lxvd2ux vs43,r4,r5 + 10: 7c 64 2f 98 stxvd2x vs3,r4,r5 + 14: 7c 64 2f d8 stxvd2ux vs3,r4,r5 + 18: 7d 64 2f 99 stxvd2x vs43,r4,r5 + 1c: 7d 64 2f d9 stxvd2ux vs43,r4,r5 + 20: f0 64 28 50 xxmrghd vs3,vs4,vs5 + 24: f1 6c 68 57 xxmrghd vs43,vs44,vs45 + 28: f0 64 2b 50 xxmrgld vs3,vs4,vs5 + 2c: f1 6c 6b 57 xxmrgld vs43,vs44,vs45 + 30: f0 64 28 50 xxmrghd vs3,vs4,vs5 + 34: f1 6c 68 57 xxmrghd vs43,vs44,vs45 + 38: f0 64 2b 50 xxmrgld vs3,vs4,vs5 + 3c: f1 6c 6b 57 xxmrgld vs43,vs44,vs45 + 40: f0 64 29 50 xxpermdi vs3,vs4,vs5,1 + 44: f1 6c 69 57 xxpermdi vs43,vs44,vs45,1 + 48: f0 64 2a 50 xxpermdi vs3,vs4,vs5,2 + 4c: f1 6c 6a 57 xxpermdi vs43,vs44,vs45,2 + 50: f0 64 27 80 xvmovdp vs3,vs4 + 54: f1 6c 67 87 xvmovdp vs43,vs44 + 58: f0 64 27 80 xvmovdp vs3,vs4 + 5c: f1 6c 67 87 xvmovdp vs43,vs44 + 60: f0 64 2f 80 xvcpsgndp vs3,vs4,vs5 + 64: f1 6c 6f 87 xvcpsgndp vs43,vs44,vs45 + 68: 4c 00 03 24 doze + 6c: 4c 00 03 64 nap + 70: 4c 00 03 a4 sleep + 74: 4c 00 03 e4 rvwinkle + 78: 7c 83 01 34 prtyw r3,r4 + 7c: 7d cd 01 74 prtyd r13,r14 + 80: 7d 5c 02 a6 mfcfar r10 + 84: 7d 7c 03 a6 mtcfar r11 + 88: 7c 83 2b f8 cmpb r3,r4,r5 + 8c: 7c c0 3c be mffgpr f6,r7 + 90: 7d 00 4d be mftgpr r8,f9 + 94: 7d 4b 66 2a lwzcix r10,r11,r12 + 98: 7d ae 7e 2e lfdpx f13,r14,r15 + 9c: ee 11 90 04 dadd f16,f17,f18 + a0: fe 96 c0 04 daddq f20,f22,f24 + a4: 7c 60 06 6c dss 3 + a8: 7e 00 06 6c dssall + ac: 7c 25 22 ac dst r5,r4,1 + b0: 7e 08 3a ac dstt r8,r7,0 + b4: 7c 65 32 ec dstst r5,r6,3 + b8: 7e 44 2a ec dststt r4,r5,2 + bc: 4e 80 00 20 blr diff --git a/gas/testsuite/gas/ppc/power7.s b/gas/testsuite/gas/ppc/power7.s new file mode 100644 index 0000000..56fe0dc --- /dev/null +++ b/gas/testsuite/gas/ppc/power7.s @@ -0,0 +1,58 @@ + .file "power7.c" + .section ".text" + .align 2 + .p2align 4,,15 + .globl power7 + .type power7, @function +power7: + lxvd2x 3,4,5 + lxvd2ux 3,4,5 + lxvd2x 43,4,5 + lxvd2ux 43,4,5 + stxvd2x 3,4,5 + stxvd2ux 3,4,5 + stxvd2x 43,4,5 + stxvd2ux 43,4,5 + xxmrghd 3,4,5 + xxmrghd 43,44,45 + xxmrgld 3,4,5 + xxmrgld 43,44,45 + xxpermdi 3,4,5,0 + xxpermdi 43,44,45,0 + xxpermdi 3,4,5,3 + xxpermdi 43,44,45,3 + xxpermdi 3,4,5,1 + xxpermdi 43,44,45,1 + xxpermdi 3,4,5,2 + xxpermdi 43,44,45,2 + xvmovdp 3,4 + xvmovdp 43,44 + xvcpsgndp 3,4,4 + xvcpsgndp 43,44,44 + xvcpsgndp 3,4,5 + xvcpsgndp 43,44,45 + doze + nap + sleep + rvwinkle + prtyw 3,4 + prtyd 13,14 + mfcfar 10 + mtcfar 11 + cmpb 3,4,5 + mffgpr 6,7 + mftgpr 8,9 + lwzcix 10,11,12 + lfdpx 13,14,15 + dadd 16,17,18 + daddq 20,22,24 + dss 3 + dssall + dst 5,4,1 + dstt 8,7,0 + dstst 5,6,3 + dststt 4,5,2 + blr + .size power7,.-power7 + .ident "GCC: (GNU) 4.1.2 20070115 (prerelease) (SUSE Linux)" + .section .note.GNU-stack,"",@progbits diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index 595e79c..90a5cff 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -46,5 +46,6 @@ if { [istarget powerpc*-*-*] } then { run_dump_test "e500mc" run_dump_test "cell" run_dump_test "power6" + run_dump_test "power7" } } |