aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorPeter Bergner <bergner@vnet.ibm.com>2008-08-02 04:38:51 +0000
committerPeter Bergner <bergner@vnet.ibm.com>2008-08-02 04:38:51 +0000
commit9b4e57660d385d9135549aeb8360ebfa14fb3990 (patch)
treee508e99bbab020f78ccd3b320ca8bf30b1b95b96 /gas/testsuite
parentdbe454a3b5f62a101aa4a8b290a7c63a40f8ac52 (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--gas/testsuite/gas/ppc/power7.d57
-rw-r--r--gas/testsuite/gas/ppc/power7.s58
-rw-r--r--gas/testsuite/gas/ppc/ppc.exp1
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"
}
}