From 14191abec071bdee0b8c8ab33d2e09b73b3d3c23 Mon Sep 17 00:00:00 2001 From: "Jose E. Marchesi" Date: Mon, 25 Aug 2014 13:08:31 +0200 Subject: [PATCH] gas tests for the sparc instructions ldfsr, stfsr, ldx, ldxa, stx, stxa, ldxfsr, stxfsr, ldxefsr. - V8 instructions: ldfsr, stfsr - V9 instructions: ldx, ldxa, stx, stxa, ldxfsr, stxfsr - V9b instructions: ldxefsr Tested on sparc64-*-linux-gnu. [gas/testsuite/Changelog] 2014-08-25 Jose E. Marchesi * gas/sparc/ldx_stx.s: New file. * gas/sparc/ldx_stx.d: Likewise. * gas/sparc/ldx_efsr.s: New file. * gas/sparc/ldx_efsr.d: Likewise. * gas/sparc/ld_st_fsr.s: New file. * gas/sparc/ld_st_fsr.d: Likewise. * gas/sparc/sparc.exp: Run the tests ldx_stx, ldx_efsr and ld_st_fsr. --- gas/testsuite/ChangeLog | 14 ++++++++++++++ gas/testsuite/gas/sparc/ld_st_fsr.d | 11 +++++++++++ gas/testsuite/gas/sparc/ld_st_fsr.s | 4 ++++ gas/testsuite/gas/sparc/ldx_efsr.d | 10 ++++++++++ gas/testsuite/gas/sparc/ldx_efsr.s | 3 +++ gas/testsuite/gas/sparc/ldx_stx.d | 15 +++++++++++++++ gas/testsuite/gas/sparc/ldx_stx.s | 8 ++++++++ gas/testsuite/gas/sparc/sparc.exp | 3 +++ 8 files changed, 68 insertions(+) create mode 100644 gas/testsuite/gas/sparc/ld_st_fsr.d create mode 100644 gas/testsuite/gas/sparc/ld_st_fsr.s create mode 100644 gas/testsuite/gas/sparc/ldx_efsr.d create mode 100644 gas/testsuite/gas/sparc/ldx_efsr.s create mode 100644 gas/testsuite/gas/sparc/ldx_stx.d create mode 100644 gas/testsuite/gas/sparc/ldx_stx.s diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index edba881..bd3f63c 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,17 @@ +2014-08-25 Jose E. Marchesi + + * gas/sparc/ldx_stx.s: New file. + * gas/sparc/ldx_stx.d: Likewise. + + * gas/sparc/ldx_efsr.s: New file. + * gas/sparc/ldx_efsr.d: Likewise. + + * gas/sparc/ld_st_fsr.s: New file. + * gas/sparc/ld_st_fsr.d: Likewise. + + * gas/sparc/sparc.exp: Run the tests ldx_stx, ldx_efsr and + ld_st_fsr. + 2014-08-22 Paul Brook * gas/arm/arch7a-mp.d: Adjust according to `print_arm_address' diff --git a/gas/testsuite/gas/sparc/ld_st_fsr.d b/gas/testsuite/gas/sparc/ld_st_fsr.d new file mode 100644 index 0000000..565e722 --- /dev/null +++ b/gas/testsuite/gas/sparc/ld_st_fsr.d @@ -0,0 +1,11 @@ +#as: -Av8 +#objdump: -dr -m sparc +#name: sparc LDFSR/STFSR + +.*: +file format .*sparc.* + +Disassembly of section .text: + +0+ <.text>: + 0: c1 08 c0 00 ld \[ %g3 \], %fsr + 4: c1 28 c0 00 st %fsr, \[ %g3 \] diff --git a/gas/testsuite/gas/sparc/ld_st_fsr.s b/gas/testsuite/gas/sparc/ld_st_fsr.s new file mode 100644 index 0000000..1ad0ac0 --- /dev/null +++ b/gas/testsuite/gas/sparc/ld_st_fsr.s @@ -0,0 +1,4 @@ +# Test ldfsr/stfsr + .text + ld [%g3], %fsr + st %fsr, [%g3] diff --git a/gas/testsuite/gas/sparc/ldx_efsr.d b/gas/testsuite/gas/sparc/ldx_efsr.d new file mode 100644 index 0000000..63ddcb6 --- /dev/null +++ b/gas/testsuite/gas/sparc/ldx_efsr.d @@ -0,0 +1,10 @@ +#as: -Av9b +#objdump: -dr -m sparc:v9b +#name: sparc LDXEFSR + +.*: +file format .*sparc.* + +Disassembly of section .text: + +0+ <.text>: + 0: c7 08 c0 00 ldx \[ %g3 \], %efsr diff --git a/gas/testsuite/gas/sparc/ldx_efsr.s b/gas/testsuite/gas/sparc/ldx_efsr.s new file mode 100644 index 0000000..4ce206d --- /dev/null +++ b/gas/testsuite/gas/sparc/ldx_efsr.s @@ -0,0 +1,3 @@ +# Test ldxefsr + .text + ldx [%g3], %efsr diff --git a/gas/testsuite/gas/sparc/ldx_stx.d b/gas/testsuite/gas/sparc/ldx_stx.d new file mode 100644 index 0000000..492a633 --- /dev/null +++ b/gas/testsuite/gas/sparc/ldx_stx.d @@ -0,0 +1,15 @@ +#as: -Av9 +#objdump: -dr -m sparc:v9 +#name: sparc LDX/STX + +.*: +file format .*sparc.* + +Disassembly of section .text: + +0+ <.text>: + 0: d0 58 c0 00 ldx \[ %g3 \], %o0 + 4: d4 d8 c0 80 ldxa \[ %g3 \] #ASI_N, %o2 + 8: c3 08 c0 00 ldx \[ %g3 \], %fsr + c: d0 70 c0 00 stx %o0, \[ %g3 \] + 10: d4 f0 c0 80 stxa %o2, \[ %g3 \] #ASI_N + 14: c3 28 c0 00 stx %fsr, \[ %g3 \] diff --git a/gas/testsuite/gas/sparc/ldx_stx.s b/gas/testsuite/gas/sparc/ldx_stx.s new file mode 100644 index 0000000..4e0c724 --- /dev/null +++ b/gas/testsuite/gas/sparc/ldx_stx.s @@ -0,0 +1,8 @@ +# Test ldx/ldxa/stx/stxa + .text + ldx [%g3], %o0 + ldxa [%g3] 0x04, %o2 + ldx [%g3], %fsr + stx %o0, [%g3] + stxa %o2, [%g3] 0x04 + stx %fsr, [%g3] diff --git a/gas/testsuite/gas/sparc/sparc.exp b/gas/testsuite/gas/sparc/sparc.exp index 413d2e3..0504b8f 100644 --- a/gas/testsuite/gas/sparc/sparc.exp +++ b/gas/testsuite/gas/sparc/sparc.exp @@ -84,6 +84,9 @@ if [istarget sparc*-*-*] { run_dump_test "cfr" run_dump_test "ldtw_sttw" run_dump_test "ldd_std" + run_dump_test "ldx_stx" + run_dump_test "ldx_efsr" + run_dump_test "ld_st_fsr" run_dump_test "edge" run_dump_test "flush" -- 2.7.4