]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: testsuite: share test utils macros and use them
authorMatthieu Longo <matthieu.longo@arm.com>
Tue, 27 Feb 2024 10:59:17 +0000 (10:59 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Wed, 15 May 2024 09:36:24 +0000 (10:36 +0100)
This patch rewrites assembly tests to use utils macros declared in
sysreg-test-utils.inc. Some tests were adapted to use the new macro
rw_sys_reg.

23 files changed:
gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.d
gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l
gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d
gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.s
gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-3.d
gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-4.d
gas/testsuite/gas/aarch64/sysreg/sysreg-1.d
gas/testsuite/gas/aarch64/sysreg/sysreg-1.s
gas/testsuite/gas/aarch64/sysreg/sysreg-2.d
gas/testsuite/gas/aarch64/sysreg/sysreg-2.s
gas/testsuite/gas/aarch64/sysreg/sysreg-3.d
gas/testsuite/gas/aarch64/sysreg/sysreg-3.s
gas/testsuite/gas/aarch64/sysreg/sysreg-6.d
gas/testsuite/gas/aarch64/sysreg/sysreg-6.s
gas/testsuite/gas/aarch64/sysreg/sysreg-7.d
gas/testsuite/gas/aarch64/sysreg/sysreg-7.s
gas/testsuite/gas/aarch64/sysreg/sysreg-8.d
gas/testsuite/gas/aarch64/sysreg/sysreg-8.s
gas/testsuite/gas/aarch64/sysreg/sysreg-test-utils.inc [new file with mode: 0644]
gas/testsuite/gas/aarch64/sysreg/sysreg.d
gas/testsuite/gas/aarch64/sysreg/sysreg.s
gas/testsuite/gas/aarch64/sysreg/sysreg128.d
gas/testsuite/gas/aarch64/sysreg/sysreg128.s

index 2471b6b52c31183b0aef6f089fcc3ce22089ee98..1160ec02ff77c49c201e9dd234795fc6ddf36f27 100644 (file)
@@ -1,3 +1,3 @@
-#as: -march=armv8.8-a
 #source: armv8_9-a-sysregs.s
+#as: -march=armv8.8-a -I$srcdir/$subdir
 #error_output: armv8_9-a-sysregs-bad.l
index d98c2ed573ad658a5e8563b4a33fee9c0b18d3a3..05431cc501bf39e0aa2e6aad66f237a248b56313 100644 (file)
 .*: Assembler messages:
 .*: Error: selected processor does not support system register name 'pmsdsfr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmsdsfr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'erxgsr_el1'
 .*: Error: selected processor does not support system register name 'sctlr2_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'sctlr2_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'sctlr2_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'sctlr2_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'sctlr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'sctlr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'sctlr2_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'sctlr2_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'hdfgrtr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'hdfgrtr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'hdfgwtr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'hdfgwtr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'hfgrtr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'hfgrtr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'hfgwtr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'hfgwtr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pfar_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pfar_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pfar_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pfar_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pfar_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pfar_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 's1e1a'
 .*: Error: selected processor does not support system register name 's1e2a'
 .*: Error: selected processor does not support system register name 's1e3a'
 .*: Error: selected processor does not support system register name 'amair2_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'amair2_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'amair2_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'amair2_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'amair2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'amair2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'amair2_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'amair2_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mair2_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mair2_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mair2_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mair2_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mair2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mair2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mair2_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mair2_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pir_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pir_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pir_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pir_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pir_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pir_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pir_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pir_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pire0_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pire0_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pire0_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pire0_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pire0_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pire0_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 's2pir_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 's2pir_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el0'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el0'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'por_el3'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 's2por_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 's2por_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'tcr2_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'tcr2_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'tcr2_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'tcr2_el12'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'tcr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'tcr2_el2'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mdselr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'mdselr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmuacr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmuacr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmccntsvr_el1'
 .*: Error: selected processor does not support system register name 'pmicntsvr_el1'
 .*: Error: selected processor does not support system register name 'pmsscr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmsscr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmevcntsvr0_el1'
 .*: Error: selected processor does not support system register name 'pmevcntsvr10_el1'
 .*: Error: selected processor does not support system register name 'pmevcntsvr11_el1'
 .*: Error: selected processor does not support system register name 'pmevcntsvr8_el1'
 .*: Error: selected processor does not support system register name 'pmevcntsvr9_el1'
 .*: Error: selected processor does not support system register name 'pmicntr_el0'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmicntr_el0'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmicfiltr_el0'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmicfiltr_el0'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmzr_el0'
 .*: Error: selected processor does not support system register name 'pmecr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmecr_el1'
+.*:  Info: macro invoked from here
 .*: Error: selected processor does not support system register name 'pmiar_el1'
-.*: Error: selected processor does not support system register name 'pmiar_el1'
\ No newline at end of file
+.*:  Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmiar_el1'
+.*:  Info: macro invoked from here
\ No newline at end of file
index ac32b80b40caeabd319a5a13917d85132274a526..9913c2be6d32962839e0c185a3bdd3b760a1a2ad 100644 (file)
@@ -1,4 +1,5 @@
-#as: -march=armv8.9-a
+#source: armv8_9-a-sysregs.s
+#as: -march=armv8.9-a -I$srcdir/$subdir
 #objdump: -dr
 
 .*:     file format .*
index bf9019c9ac85e6bf779234557c7cae4aa18c5ad8..318d8bb90972f7773290db56e0bc1234f0ea3e52 100644 (file)
@@ -1,32 +1,23 @@
-       msr PMSDSFR_EL1, x3
-       mrs x3, PMSDSFR_EL1
+       .include "sysreg-test-utils.inc"
+
+.text
+       rw_sys_reg sys_reg=PMSDSFR_EL1 xreg=x3 r=1 w=1
 
        mrs x0, ERXGSR_EL1
 
-       msr SCTLR2_EL1, x3
-       mrs x3, SCTLR2_EL1
-       msr SCTLR2_EL12, x3
-       mrs x3, SCTLR2_EL12
-       msr SCTLR2_EL2, x3
-       mrs x3, SCTLR2_EL2
-       msr SCTLR2_EL3, x3
-       mrs x3, SCTLR2_EL3
-
-       msr HDFGRTR2_EL2, x3
-       mrs x3, HDFGRTR2_EL2
-       msr HDFGWTR2_EL2, x3
-       mrs x3, HDFGWTR2_EL2
-       msr HFGRTR2_EL2, x3
-       mrs x3, HFGRTR2_EL2
-       msr HFGWTR2_EL2, x3
-       mrs x3, HFGWTR2_EL2
-
-       msr PFAR_EL1, x0
-       mrs x0, PFAR_EL1
-       msr PFAR_EL2, x0
-       mrs x0, PFAR_EL2
-       msr PFAR_EL12, x0
-       mrs x0, PFAR_EL12
+       rw_sys_reg sys_reg=SCTLR2_EL1 xreg=x3 r=1 w=1
+       rw_sys_reg sys_reg=SCTLR2_EL12 xreg=x3 r=1 w=1
+       rw_sys_reg sys_reg=SCTLR2_EL2 xreg=x3 r=1 w=1
+       rw_sys_reg sys_reg=SCTLR2_EL3 xreg=x3 r=1 w=1
+
+       rw_sys_reg sys_reg=HDFGRTR2_EL2 xreg=x3 r=1 w=1
+       rw_sys_reg sys_reg=HDFGWTR2_EL2 xreg=x3 r=1 w=1
+       rw_sys_reg sys_reg=HFGRTR2_EL2 xreg=x3 r=1 w=1
+       rw_sys_reg sys_reg=HFGWTR2_EL2 xreg=x3 r=1 w=1
+
+       rw_sys_reg sys_reg=PFAR_EL1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=PFAR_EL2 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=PFAR_EL12 xreg=x0 r=1 w=1
 
        /* AT.  */
        at s1e1a, x1
        at s1e3a, x5
 
        /* FEAT_AIE.  */
-       msr amair2_el1, x0
-       mrs x0, amair2_el1
-       msr amair2_el12, x0
-       mrs x0, amair2_el12
-       msr amair2_el2, x0
-       mrs x0, amair2_el2
-       msr amair2_el3, x0
-       mrs x0, amair2_el3
-       msr mair2_el1, x0
-       mrs x0, mair2_el1
-       msr mair2_el12, x0
-       mrs x0, mair2_el12
-       msr mair2_el2, x0
-       mrs x0, mair2_el2
-       msr mair2_el3, x0
-       mrs x0, mair2_el3
+       rw_sys_reg sys_reg=amair2_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=amair2_el12 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=amair2_el2 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=amair2_el3 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=mair2_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=mair2_el12 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=mair2_el2 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=mair2_el3 xreg=x0 r=1 w=1
 
        /* FEAT_S1PIE.  */
-       msr pir_el1, x0
-       mrs x0, pir_el1
-       msr pir_el12, x0
-       mrs x0, pir_el12
-       msr pir_el2, x0
-       mrs x0, pir_el2
-       msr pir_el3, x0
-       mrs x0, pir_el3
-       msr pire0_el1, x0
-       mrs x0, pire0_el1
-       msr pire0_el12, x0
-       mrs x0, pire0_el12
-       msr pire0_el2, x0
-       mrs x0, pire0_el2
+       rw_sys_reg sys_reg=pir_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=pir_el12 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=pir_el2 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=pir_el3 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=pire0_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=pire0_el12 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=pire0_el2 xreg=x0 r=1 w=1
 
        /* FEAT_S2PIE.  */
-       msr s2pir_el2, x0
-       mrs x0, s2pir_el2
+       rw_sys_reg sys_reg=s2pir_el2 xreg=x0 r=1 w=1
 
        /* FEAT_S1POE.  */
-       msr por_el0, x0
-       mrs x0, por_el0
-       msr por_el1, x0
-       mrs x0, por_el1
-       msr por_el12, x0
-       mrs x0, por_el12
-       msr por_el2, x0
-       mrs x0, por_el2
-       msr por_el3, x0
-       mrs x0, por_el3
+       rw_sys_reg sys_reg=por_el0 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=por_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=por_el12 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=por_el2 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=por_el3 xreg=x0 r=1 w=1
 
        /* FEAT_S21POE.  */
-       msr s2por_el1, x0
-       mrs x0, s2por_el1
+       rw_sys_reg sys_reg=s2por_el1 xreg=x0 r=1 w=1
 
        /* FEAT_TCR2.  */
-       msr tcr2_el1, x0
-       mrs x0, tcr2_el1
-       msr tcr2_el12, x0
-       mrs x0, tcr2_el12
-       msr tcr2_el2, x0
-       mrs x0, tcr2_el2
+       rw_sys_reg sys_reg=tcr2_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=tcr2_el12 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=tcr2_el2 xreg=x0 r=1 w=1
 
        /* FEAT_DEBUGv8p9 Extension.  */
-       msr mdselr_el1, x0
-       mrs x0, mdselr_el1
+       rw_sys_reg sys_reg=mdselr_el1 xreg=x0 r=1 w=1
 
        /* FEAT_PMUv3p9 Extension.  */
-       msr pmuacr_el1, x0
-       mrs x0, pmuacr_el1
+       rw_sys_reg sys_reg=pmuacr_el1 xreg=x0 r=1 w=1
 
        /* FEAT_PMUv3_SS Extension.  */
        mrs x0, pmccntsvr_el1
        mrs x0, pmicntsvr_el1
-       msr pmsscr_el1, x0
-       mrs x0, pmsscr_el1
+       rw_sys_reg sys_reg=pmsscr_el1 xreg=x0 r=1 w=1
        mrs x0, pmevcntsvr0_el1
        mrs x0, pmevcntsvr10_el1
        mrs x0, pmevcntsvr11_el1
        mrs x0, pmevcntsvr9_el1
 
        /* FEAT_PMUv3_ICNTR Extension.  */
-       msr pmicntr_el0, x0
-       mrs x0, pmicntr_el0
-       msr pmicfiltr_el0, x0
-       mrs x0, pmicfiltr_el0
+       rw_sys_reg sys_reg=pmicntr_el0 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=pmicfiltr_el0 xreg=x0 r=1 w=1
        msr pmzr_el0, x0
 
        /* FEAT_SEBEP Extension.  */
-       msr pmecr_el1, x0
-       mrs x0, pmecr_el1
-       msr pmiar_el1, x0
-       mrs x0, pmiar_el1
+       rw_sys_reg sys_reg=pmecr_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=pmiar_el1 xreg=x0 r=1 w=1
index 932eb54243152de6562a322da8464de1498ba5c7..6918395a9ab33a4b8ecf9a3c6cfe6d6904c96ce5 100644 (file)
@@ -1,3 +1,3 @@
-#as: -march=armv8-a
 #source: sysreg-3.s
+#as: -march=armv8-a -I$srcdir/$subdir
 #error_output: illegal-sysreg-3.l
index e1815665d961945c8ff5332126ace78caf62fa91..34dd4e4ac483ec91c094abd614d65019ea1f7a4c 100644 (file)
@@ -1,3 +1,3 @@
-#as: -march=armv8-a
 #source: sysreg-4.s
+#as: -march=armv8-a
 #error_output: illegal-sysreg-4.l
index fb9991d1116307c072063bb0830d8f04d7410aec..cecb1ad88ee60a746d7ce2a67e368658a252c26e 100644 (file)
@@ -1,3 +1,5 @@
+#source: sysreg-1.s
+#as: -I$srcdir/$subdir
 #objdump: -dr
 
 .*:     file format .*
index 82a86d38fb463c114aa0e5c8e44eee2eb125ec93..16d8f93140345334418bed041c7b38471c6ecc6e 100644 (file)
    along with this program; see the file COPYING3. If not,
    see <http://www.gnu.org/licenses/>.  */
 
-       .macro rw_sys_reg sys_reg xreg r w
-       .ifc \w, 1
-       msr \sys_reg, \xreg
-       .endif
-       .ifc \r, 1
-       mrs \xreg, \sys_reg
-       .endif
-       .endm
+       .include "sysreg-test-utils.inc"
 
        .text
 
-       rw_sys_reg sys_reg=id_aa64afr0_el1 xreg=x7 r=1 w=0
-       rw_sys_reg sys_reg=id_aa64afr1_el1 xreg=x7 r=1 w=0
-       rw_sys_reg sys_reg=mvfr2_el1 xreg=x7 r=1 w=0
-       rw_sys_reg sys_reg=dlr_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=dspsr_el0 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=sder32_el3 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=mdcr_el3 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=mdccint_el1 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=dbgvcr32_el2 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=fpexc32_el2 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=teecr32_el1 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=teehbr32_el1 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=cntp_tval_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=cntp_ctl_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=cntp_cval_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=cntps_tval_el1 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=cntps_ctl_el1 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=cntps_cval_el1 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=pmccntr_el0 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=pmevcntr0_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr1_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr2_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr3_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr4_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr5_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr6_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr7_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr8_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr9_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr10_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr11_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr12_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr13_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr14_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr15_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr16_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr17_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr18_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr19_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr20_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr21_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr22_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr23_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr24_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr25_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr26_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr27_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr28_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr29_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevcntr30_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper0_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper1_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper2_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper3_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper4_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper5_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper6_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper7_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper8_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper9_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper10_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper11_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper12_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper13_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper14_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper15_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper16_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper17_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper18_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper19_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper20_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper21_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper22_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper23_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper24_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper25_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper26_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper27_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper28_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper29_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmevtyper30_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=pmccfiltr_el0 xreg=x7 r=1 w=1
-
-       rw_sys_reg sys_reg=tpidrro_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=tpidr_el0 xreg=x7 r=1 w=1
-       rw_sys_reg sys_reg=cntfrq_el0 xreg=x7 r=1 w=1
+       rw_sys_reg sys_reg=id_aa64afr0_el1 xreg=x7 w=0
+       rw_sys_reg sys_reg=id_aa64afr1_el1 xreg=x7 w=0
+       rw_sys_reg sys_reg=mvfr2_el1 xreg=x7 w=0
+       rw_sys_reg sys_reg=dlr_el0 xreg=x7
+       rw_sys_reg sys_reg=dspsr_el0 xreg=x7
+
+       rw_sys_reg sys_reg=sder32_el3 xreg=x7
+       rw_sys_reg sys_reg=mdcr_el3 xreg=x7
+
+       rw_sys_reg sys_reg=mdccint_el1 xreg=x7
+
+       rw_sys_reg sys_reg=dbgvcr32_el2 xreg=x7
+
+       rw_sys_reg sys_reg=fpexc32_el2 xreg=x7
+
+       rw_sys_reg sys_reg=teecr32_el1 xreg=x7
+       rw_sys_reg sys_reg=teehbr32_el1 xreg=x7
+
+       rw_sys_reg sys_reg=cntp_tval_el0 xreg=x7
+       rw_sys_reg sys_reg=cntp_ctl_el0 xreg=x7
+       rw_sys_reg sys_reg=cntp_cval_el0 xreg=x7
+       rw_sys_reg sys_reg=cntps_tval_el1 xreg=x7
+       rw_sys_reg sys_reg=cntps_ctl_el1 xreg=x7
+       rw_sys_reg sys_reg=cntps_cval_el1 xreg=x7
+
+       rw_sys_reg sys_reg=pmccntr_el0 xreg=x7
+
+       rw_sys_reg sys_reg=pmevcntr0_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr1_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr2_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr3_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr4_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr5_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr6_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr7_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr8_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr9_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr10_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr11_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr12_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr13_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr14_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr15_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr16_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr17_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr18_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr19_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr20_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr21_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr22_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr23_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr24_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr25_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr26_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr27_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr28_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr29_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevcntr30_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper0_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper1_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper2_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper3_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper4_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper5_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper6_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper7_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper8_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper9_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper10_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper11_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper12_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper13_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper14_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper15_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper16_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper17_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper18_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper19_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper20_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper21_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper22_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper23_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper24_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper25_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper26_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper27_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper28_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper29_el0 xreg=x7
+       rw_sys_reg sys_reg=pmevtyper30_el0 xreg=x7
+       rw_sys_reg sys_reg=pmccfiltr_el0 xreg=x7
+
+       rw_sys_reg sys_reg=tpidrro_el0 xreg=x7
+       rw_sys_reg sys_reg=tpidr_el0 xreg=x7
+       rw_sys_reg sys_reg=cntfrq_el0 xreg=x7
 
        //
        // Macros to generate MRS and MSR with all the implementation defined
        all_imple_defined       0, 7
        .noaltmacro
 
-       rw_sys_reg sys_reg=dbgdtr_el0 xreg=x15 r=1 w=1
-       rw_sys_reg sys_reg=dbgdtrrx_el0 xreg=x15 r=1 w=0
+       rw_sys_reg sys_reg=dbgdtr_el0 xreg=x15
+       rw_sys_reg sys_reg=dbgdtrrx_el0 xreg=x15 w=0
 
-       rw_sys_reg sys_reg=rmr_el1 xreg=x15 r=1 w=1
-       rw_sys_reg sys_reg=rmr_el2 xreg=x15 r=1 w=1
-       rw_sys_reg sys_reg=rmr_el3 xreg=x15 r=1 w=1
+       rw_sys_reg sys_reg=rmr_el1 xreg=x15
+       rw_sys_reg sys_reg=rmr_el2 xreg=x15
+       rw_sys_reg sys_reg=rmr_el3 xreg=x15
 
-       rw_sys_reg sys_reg=spsr_el1 xreg=x15 r=1 w=1
-       rw_sys_reg sys_reg=spsr_el2 xreg=x15 r=1 w=1
-       rw_sys_reg sys_reg=spsr_el3 xreg=x15 r=1 w=1
+       rw_sys_reg sys_reg=spsr_el1 xreg=x15
+       rw_sys_reg sys_reg=spsr_el2 xreg=x15
+       rw_sys_reg sys_reg=spsr_el3 xreg=x15
 
-       rw_sys_reg sys_reg=s0_0_C0_C0_0 xreg=x15 r=1 w=1
-       rw_sys_reg sys_reg=s1_7_C15_C15_7 xreg=x27 r=1 w=1
-       rw_sys_reg sys_reg=s2_4_C6_C8_0 xreg=x14 r=1 w=1
-       rw_sys_reg sys_reg=s1_2_C14_C4_2 xreg=x4 r=1 w=1
-       rw_sys_reg sys_reg=s0_1_C13_C1_3 xreg=x7 r=1 w=1
+       rw_sys_reg sys_reg=s0_0_C0_C0_0 xreg=x15
+       rw_sys_reg sys_reg=s1_7_C15_C15_7 xreg=x27
+       rw_sys_reg sys_reg=s2_4_C6_C8_0 xreg=x14
+       rw_sys_reg sys_reg=s1_2_C14_C4_2 xreg=x4
+       rw_sys_reg sys_reg=s0_1_C13_C1_3 xreg=x7
index 0a3a0c7d6b4ee01373641abd0cc2b5ceca2bc10a..1845902137e76d8b23cab95e32fb6767823545a0 100644 (file)
@@ -1,5 +1,6 @@
+#source: sysreg-2.s
+#as: -march=armv8.2-a+profile -I$srcdir/$subdir
 #objdump: -dr
-#as: -march=armv8.2-a+profile
 
 .*:     file .*
 
index 315e6411849639a166dbab77bb72be4ba4933ad0..5ffb83a82f5094d6b6c4ecfa3a86dd58c7687588 100644 (file)
@@ -1,37 +1,30 @@
 /* sysreg-2.s Test file for ARMv8.2 system registers.  */
 
-       .macro rw_sys_reg sys_reg xreg r w
-       .ifc \w, 1
-       msr \sys_reg, \xreg
-       .endif
-       .ifc \r, 1
-       mrs \xreg, \sys_reg
-       .endif
-       .endm
+       .include "sysreg-test-utils.inc"
 
        .text
 
-       rw_sys_reg sys_reg=id_aa64mmfr1_el1 xreg=x0 r=1 w=0
-       rw_sys_reg sys_reg=id_aa64mmfr2_el1 xreg=x0 r=1 w=0
-       rw_sys_reg sys_reg=id_aa64mmfr3_el1 xreg=x0 r=1 w=0
-       rw_sys_reg sys_reg=id_aa64mmfr4_el1 xreg=x0 r=1 w=0
+       rw_sys_reg sys_reg=id_aa64mmfr1_el1 w=0
+       rw_sys_reg sys_reg=id_aa64mmfr2_el1 w=0
+       rw_sys_reg sys_reg=id_aa64mmfr3_el1 w=0
+       rw_sys_reg sys_reg=id_aa64mmfr4_el1 w=0
 
        /* RAS extension.  */
 
-       rw_sys_reg sys_reg=erridr_el1 xreg=x0 r=1 w=0
-       rw_sys_reg sys_reg=errselr_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=erridr_el1 w=0
+       rw_sys_reg sys_reg=errselr_el1
 
-       rw_sys_reg sys_reg=erxfr_el1 xreg=x0 r=1 w=0
-       rw_sys_reg sys_reg=erxctlr_el1 xreg=x0 r=1 w=1
-       rw_sys_reg sys_reg=erxstatus_el1 xreg=x0 r=1 w=1
-       rw_sys_reg sys_reg=erxaddr_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=erxfr_el1 w=0
+       rw_sys_reg sys_reg=erxctlr_el1
+       rw_sys_reg sys_reg=erxstatus_el1
+       rw_sys_reg sys_reg=erxaddr_el1
 
-       rw_sys_reg sys_reg=erxmisc0_el1 xreg=x0 r=1 w=1
-       rw_sys_reg sys_reg=erxmisc1_el1 xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=erxmisc0_el1
+       rw_sys_reg sys_reg=erxmisc1_el1
 
-       rw_sys_reg sys_reg=vsesr_el2 xreg=x0 r=1 w=0
-       rw_sys_reg sys_reg=disr_el1 xreg=x0 r=1 w=1
-       rw_sys_reg sys_reg=vdisr_el2 xreg=x0 r=1 w=0
+       rw_sys_reg sys_reg=vsesr_el2 w=0
+       rw_sys_reg sys_reg=disr_el1
+       rw_sys_reg sys_reg=vdisr_el2 w=0
 
        /* DC CVAP.  */
 
        /* Statistical profiling.  */
 
        .irp reg, pmblimitr_el1, pmbptr_el1, pmbsr_el1
-       rw_sys_reg sys_reg=\reg xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=\reg
        .endr
 
        .irp reg, pmscr_el1, pmsicr_el1, pmsirr_el1, pmsfcr_el1
-       rw_sys_reg sys_reg=\reg xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=\reg
        .endr
 
        .irp reg, pmsevfr_el1, pmslatfr_el1, pmscr_el2, pmscr_el12
-       rw_sys_reg sys_reg=\reg xreg=x0 r=1 w=1
+       rw_sys_reg sys_reg=\reg
        .endr
 
        .irp reg, pmbidr_el1, pmsidr_el1
-       rw_sys_reg sys_reg=\reg xreg=x0 r=1 w=0
+       rw_sys_reg sys_reg=\reg w=0
        .endr
index 5ed05d6916cb10ef9d49b0e6cd18d80eb0cbee3d..0135762663a47f91e30d50e40dab240e26391573 100644 (file)
@@ -1,5 +1,6 @@
+#source: sysreg-3.s
+#as: -march=armv8.3-a -I$srcdir/$subdir
 #objdump: -dr
-#as: -march=armv8.3-a
 
 .*:     file .*
 
index b45f89fcf27f6b6a7dcf59913f2b46bd35691768..53c6da8104de33bbade1c426413953f078fc0f65 100644 (file)
@@ -1,21 +1,18 @@
 /* sysreg-3.s Test file for ARMv8.3 system registers.  */
 
-       .macro test sys_reg xreg
-       msr \sys_reg, \xreg
-       mrs \xreg, \sys_reg
-       .endm
+       .include "sysreg-test-utils.inc"
 
        .text
 
-       test sys_reg=apiakeylo_el1 xreg=x0
-       test sys_reg=apiakeyhi_el1 xreg=x0
-       test sys_reg=apibkeylo_el1 xreg=x0
-       test sys_reg=apibkeyhi_el1 xreg=x0
+       rw_sys_reg sys_reg=apiakeylo_el1
+       rw_sys_reg sys_reg=apiakeyhi_el1
+       rw_sys_reg sys_reg=apibkeylo_el1
+       rw_sys_reg sys_reg=apibkeyhi_el1
 
-       test sys_reg=apdakeylo_el1 xreg=x0
-       test sys_reg=apdakeyhi_el1 xreg=x0
-       test sys_reg=apdbkeylo_el1 xreg=x0
-       test sys_reg=apdbkeyhi_el1 xreg=x0
+       rw_sys_reg sys_reg=apdakeylo_el1
+       rw_sys_reg sys_reg=apdakeyhi_el1
+       rw_sys_reg sys_reg=apdbkeylo_el1
+       rw_sys_reg sys_reg=apdbkeyhi_el1
 
-       test sys_reg=apgakeylo_el1 xreg=x0
-       test sys_reg=apgakeyhi_el1 xreg=x0
+       rw_sys_reg sys_reg=apgakeylo_el1
+       rw_sys_reg sys_reg=apgakeyhi_el1
index ac928ce3037e28f7548a9ac74e6ae0ff27dc8043..cb9c46e26b6555dd246a39c9f8e387504034ae49 100644 (file)
@@ -1,3 +1,5 @@
+#source: sysreg-6.s
+#as: -I$srcdir/$subdir
 #objdump: -dr
 
 .*:     file format .*
index c6772ae732da61b5738efdf520c777ec83be5b14..16129859095b12ccf78457f29da51e04e3195d43 100644 (file)
@@ -1,2 +1,5 @@
-msr hcr_el2, x0
-mrs x0,hcr_el2
+       .include "sysreg-test-utils.inc"
+
+       .text
+
+       rw_sys_reg sys_reg=hcr_el2
index 5d74fd7056b819a12d8e01454633210da186a960..846ab8b96abd9288737fb9a7176282d9a411c817 100644 (file)
@@ -1,3 +1,5 @@
+#source: sysreg-7.s
+#as: -I$srcdir/$subdir
 #objdump: -dr
 
 .*:     file format .*
index 8354a44a813ce85d39775df03f3fde0910910b0b..e371f19bcfb0c9ecb6261ffba500464c6ee867f1 100644 (file)
@@ -1,20 +1,16 @@
-.arch armv8-a+lor
+       .include "sysreg-test-utils.inc"
 
-msr lorc_el1, x0
-mrs x0, lorc_el1
-msr lorea_el1, x0
-mrs x0, lorea_el1
-msr lorn_el1, x0
-mrs x0, lorn_el1
-msr lorsa_el1, x0
-mrs x0, lorsa_el1
-msr icc_ctlr_el3, x0
-mrs x0, icc_ctlr_el3
-msr icc_sre_el1, x0
-mrs x0, icc_sre_el1
-msr icc_sre_el2, x0
-mrs x0, icc_sre_el2
-msr icc_sre_el3, x0
-mrs x0, icc_sre_el3
+       .text
 
-mrs x0, ich_vtr_el2
+       .arch armv8-a+lor
+
+       rw_sys_reg sys_reg=lorc_el1
+       rw_sys_reg sys_reg=lorea_el1
+       rw_sys_reg sys_reg=lorn_el1
+       rw_sys_reg sys_reg=lorsa_el1
+       rw_sys_reg sys_reg=icc_ctlr_el3
+       rw_sys_reg sys_reg=icc_sre_el1
+       rw_sys_reg sys_reg=icc_sre_el2
+       rw_sys_reg sys_reg=icc_sre_el3
+
+       rw_sys_reg sys_reg=ich_vtr_el2 w=0
index d93b4c7da4064890679e85650627bb999cba2209..4ee851fc32d783da1438b8d506663a9e17c118d0 100644 (file)
@@ -1,3 +1,5 @@
+#source: sysreg-8.s
+#as: -I$srcdir/$subdir
 #objdump: -dr
 
 .*
index 04bd30d08d12c85ef0bfa670b227b0fb19efb2cd..0cf1178542af7b5d70f2b388b2220621d15ebfe1 100644 (file)
-       .macro  roreg, name
-       mrs     x0, \name
-       .endm
-
-       .macro  woreg, name
-       msr     \name, x0
-       .endm
-
-       .macro  rwreg, name
-       msr     \name, x0
-       mrs     x0, \name
-       .endm
-
-       roreg   id_dfr1_el1
-       roreg   id_mmfr5_el1
-       roreg   id_isar6_el1
-
-       rwreg   icc_pmr_el1
-       roreg   icc_iar0_el1
-       woreg   icc_eoir0_el1
-       roreg   icc_hppir0_el1
-       rwreg   icc_bpr0_el1
-       rwreg   icc_ap0r0_el1
-       rwreg   icc_ap0r1_el1
-       rwreg   icc_ap0r2_el1
-       rwreg   icc_ap0r3_el1
-       rwreg   icc_ap1r0_el1
-       rwreg   icc_ap1r1_el1
-       rwreg   icc_ap1r2_el1
-       rwreg   icc_ap1r3_el1
-       woreg   icc_dir_el1
-       roreg   icc_rpr_el1
-       woreg   icc_sgi1r_el1
-       woreg   icc_asgi1r_el1
-       woreg   icc_sgi0r_el1
-       roreg   icc_iar1_el1
-       woreg   icc_eoir1_el1
-       roreg   icc_hppir1_el1
-       rwreg   icc_bpr1_el1
-       rwreg   icc_ctlr_el1
-       rwreg   icc_igrpen0_el1
-       rwreg   icc_igrpen1_el1
-       rwreg   ich_ap0r0_el2
-       rwreg   ich_ap0r1_el2
-       rwreg   ich_ap0r2_el2
-       rwreg   ich_ap0r3_el2
-       rwreg   ich_ap1r0_el2
-       rwreg   ich_ap1r1_el2
-       rwreg   ich_ap1r2_el2
-       rwreg   ich_ap1r3_el2
-       rwreg   ich_hcr_el2
-       roreg   ich_misr_el2
-       roreg   ich_eisr_el2
-       roreg   ich_elrsr_el2
-       rwreg   ich_vmcr_el2
-       rwreg   ich_lr0_el2
-       rwreg   ich_lr1_el2
-       rwreg   ich_lr2_el2
-       rwreg   ich_lr3_el2
-       rwreg   ich_lr4_el2
-       rwreg   ich_lr5_el2
-       rwreg   ich_lr6_el2
-       rwreg   ich_lr7_el2
-       rwreg   ich_lr8_el2
-       rwreg   ich_lr9_el2
-       rwreg   ich_lr10_el2
-       rwreg   ich_lr11_el2
-       rwreg   ich_lr12_el2
-       rwreg   ich_lr13_el2
-       rwreg   ich_lr14_el2
-       rwreg   ich_lr15_el2
-       rwreg   icc_igrpen1_el3
+       .include "sysreg-test-utils.inc"
+
+       .text
+
+       rw_sys_reg      id_dfr1_el1 w=0
+       rw_sys_reg      id_mmfr5_el1 w=0
+       rw_sys_reg      id_isar6_el1 w=0
+
+       rw_sys_reg      icc_pmr_el1
+       rw_sys_reg      icc_iar0_el1 w=0
+       rw_sys_reg      icc_eoir0_el1 r=0
+       rw_sys_reg      icc_hppir0_el1 w=0
+       rw_sys_reg      icc_bpr0_el1
+       rw_sys_reg      icc_ap0r0_el1
+       rw_sys_reg      icc_ap0r1_el1
+       rw_sys_reg      icc_ap0r2_el1
+       rw_sys_reg      icc_ap0r3_el1
+       rw_sys_reg      icc_ap1r0_el1
+       rw_sys_reg      icc_ap1r1_el1
+       rw_sys_reg      icc_ap1r2_el1
+       rw_sys_reg      icc_ap1r3_el1
+       rw_sys_reg      icc_dir_el1 r=0
+       rw_sys_reg      icc_rpr_el1 w=0
+       rw_sys_reg      icc_sgi1r_el1 r=0
+       rw_sys_reg      icc_asgi1r_el1 r=0
+       rw_sys_reg      icc_sgi0r_el1 r=0
+       rw_sys_reg      icc_iar1_el1 w=0
+       rw_sys_reg      icc_eoir1_el1 r=0
+       rw_sys_reg      icc_hppir1_el1 w=0
+       rw_sys_reg      icc_bpr1_el1
+       rw_sys_reg      icc_ctlr_el1
+       rw_sys_reg      icc_igrpen0_el1
+       rw_sys_reg      icc_igrpen1_el1
+       rw_sys_reg      ich_ap0r0_el2
+       rw_sys_reg      ich_ap0r1_el2
+       rw_sys_reg      ich_ap0r2_el2
+       rw_sys_reg      ich_ap0r3_el2
+       rw_sys_reg      ich_ap1r0_el2
+       rw_sys_reg      ich_ap1r1_el2
+       rw_sys_reg      ich_ap1r2_el2
+       rw_sys_reg      ich_ap1r3_el2
+       rw_sys_reg      ich_hcr_el2
+       rw_sys_reg      ich_misr_el2 w=0
+       rw_sys_reg      ich_eisr_el2 w=0
+       rw_sys_reg      ich_elrsr_el2 w=0
+       rw_sys_reg      ich_vmcr_el2
+       rw_sys_reg      ich_lr0_el2
+       rw_sys_reg      ich_lr1_el2
+       rw_sys_reg      ich_lr2_el2
+       rw_sys_reg      ich_lr3_el2
+       rw_sys_reg      ich_lr4_el2
+       rw_sys_reg      ich_lr5_el2
+       rw_sys_reg      ich_lr6_el2
+       rw_sys_reg      ich_lr7_el2
+       rw_sys_reg      ich_lr8_el2
+       rw_sys_reg      ich_lr9_el2
+       rw_sys_reg      ich_lr10_el2
+       rw_sys_reg      ich_lr11_el2
+       rw_sys_reg      ich_lr12_el2
+       rw_sys_reg      ich_lr13_el2
+       rw_sys_reg      ich_lr14_el2
+       rw_sys_reg      ich_lr15_el2
+       rw_sys_reg      icc_igrpen1_el3
 
        .arch   armv8.1-a
 
-       roreg   lorid_el1
+       rw_sys_reg      lorid_el1 w=0
 
        .arch   armv8.3-a
 
-       roreg   ccsidr2_el1
+       rw_sys_reg      ccsidr2_el1 w=0
 
        .arch   armv8.4-a
 
-       rwreg   trfcr_el1
-       roreg   pmmir_el1
-       rwreg   trfcr_el2
-
-       rwreg   trfcr_el12
-
-       rwreg   amcr_el0
-       roreg   amcfgr_el0
-       roreg   amcgcr_el0
-       rwreg   amuserenr_el0
-       rwreg   amcntenclr0_el0
-       rwreg   amcntenset0_el0
-       rwreg   amcntenclr1_el0
-       rwreg   amcntenset1_el0
-       rwreg   amevcntr00_el0
-       rwreg   amevcntr01_el0
-       rwreg   amevcntr02_el0
-       rwreg   amevcntr03_el0
-       roreg   amevtyper00_el0
-       roreg   amevtyper01_el0
-       roreg   amevtyper02_el0
-       roreg   amevtyper03_el0
-       rwreg   amevcntr10_el0
-       rwreg   amevcntr11_el0
-       rwreg   amevcntr12_el0
-       rwreg   amevcntr13_el0
-       rwreg   amevcntr14_el0
-       rwreg   amevcntr15_el0
-       rwreg   amevcntr16_el0
-       rwreg   amevcntr17_el0
-       rwreg   amevcntr18_el0
-       rwreg   amevcntr19_el0
-       rwreg   amevcntr110_el0
-       rwreg   amevcntr111_el0
-       rwreg   amevcntr112_el0
-       rwreg   amevcntr113_el0
-       rwreg   amevcntr114_el0
-       rwreg   amevcntr115_el0
-       rwreg   amevtyper10_el0
-       rwreg   amevtyper11_el0
-       rwreg   amevtyper12_el0
-       rwreg   amevtyper13_el0
-       rwreg   amevtyper14_el0
-       rwreg   amevtyper15_el0
-       rwreg   amevtyper16_el0
-       rwreg   amevtyper17_el0
-       rwreg   amevtyper18_el0
-       rwreg   amevtyper19_el0
-       rwreg   amevtyper110_el0
-       rwreg   amevtyper111_el0
-       rwreg   amevtyper112_el0
-       rwreg   amevtyper113_el0
-       rwreg   amevtyper114_el0
-       rwreg   amevtyper115_el0
+       rw_sys_reg      trfcr_el1
+       rw_sys_reg      pmmir_el1 w=0
+       rw_sys_reg      trfcr_el2
+
+       rw_sys_reg      trfcr_el12
+
+       rw_sys_reg      amcr_el0
+       rw_sys_reg      amcfgr_el0 w=0
+       rw_sys_reg      amcgcr_el0 w=0
+       rw_sys_reg      amuserenr_el0
+       rw_sys_reg      amcntenclr0_el0
+       rw_sys_reg      amcntenset0_el0
+       rw_sys_reg      amcntenclr1_el0
+       rw_sys_reg      amcntenset1_el0
+       rw_sys_reg      amevcntr00_el0
+       rw_sys_reg      amevcntr01_el0
+       rw_sys_reg      amevcntr02_el0
+       rw_sys_reg      amevcntr03_el0
+       rw_sys_reg      amevtyper00_el0 w=0
+       rw_sys_reg      amevtyper01_el0 w=0
+       rw_sys_reg      amevtyper02_el0 w=0
+       rw_sys_reg      amevtyper03_el0 w=0
+       rw_sys_reg      amevcntr10_el0
+       rw_sys_reg      amevcntr11_el0
+       rw_sys_reg      amevcntr12_el0
+       rw_sys_reg      amevcntr13_el0
+       rw_sys_reg      amevcntr14_el0
+       rw_sys_reg      amevcntr15_el0
+       rw_sys_reg      amevcntr16_el0
+       rw_sys_reg      amevcntr17_el0
+       rw_sys_reg      amevcntr18_el0
+       rw_sys_reg      amevcntr19_el0
+       rw_sys_reg      amevcntr110_el0
+       rw_sys_reg      amevcntr111_el0
+       rw_sys_reg      amevcntr112_el0
+       rw_sys_reg      amevcntr113_el0
+       rw_sys_reg      amevcntr114_el0
+       rw_sys_reg      amevcntr115_el0
+       rw_sys_reg      amevtyper10_el0
+       rw_sys_reg      amevtyper11_el0
+       rw_sys_reg      amevtyper12_el0
+       rw_sys_reg      amevtyper13_el0
+       rw_sys_reg      amevtyper14_el0
+       rw_sys_reg      amevtyper15_el0
+       rw_sys_reg      amevtyper16_el0
+       rw_sys_reg      amevtyper17_el0
+       rw_sys_reg      amevtyper18_el0
+       rw_sys_reg      amevtyper19_el0
+       rw_sys_reg      amevtyper110_el0
+       rw_sys_reg      amevtyper111_el0
+       rw_sys_reg      amevtyper112_el0
+       rw_sys_reg      amevtyper113_el0
+       rw_sys_reg      amevtyper114_el0
+       rw_sys_reg      amevtyper115_el0
 
        .arch   armv8.6-a
 
-       roreg   amcg1idr_el0
-       roreg   cntpctss_el0
-       roreg   cntvctss_el0
-       rwreg   hfgrtr_el2
-       rwreg   hfgwtr_el2
-       rwreg   hfgitr_el2
-       rwreg   hdfgrtr_el2
-       rwreg   hdfgwtr_el2
-       rwreg   hafgrtr_el2
-       rwreg   amevcntvoff00_el2
-       rwreg   amevcntvoff01_el2
-       rwreg   amevcntvoff02_el2
-       rwreg   amevcntvoff03_el2
-       rwreg   amevcntvoff04_el2
-       rwreg   amevcntvoff05_el2
-       rwreg   amevcntvoff06_el2
-       rwreg   amevcntvoff07_el2
-       rwreg   amevcntvoff08_el2
-       rwreg   amevcntvoff09_el2
-       rwreg   amevcntvoff010_el2
-       rwreg   amevcntvoff011_el2
-       rwreg   amevcntvoff012_el2
-       rwreg   amevcntvoff013_el2
-       rwreg   amevcntvoff014_el2
-       rwreg   amevcntvoff015_el2
-       rwreg   amevcntvoff10_el2
-       rwreg   amevcntvoff11_el2
-       rwreg   amevcntvoff12_el2
-       rwreg   amevcntvoff13_el2
-       rwreg   amevcntvoff14_el2
-       rwreg   amevcntvoff15_el2
-       rwreg   amevcntvoff16_el2
-       rwreg   amevcntvoff17_el2
-       rwreg   amevcntvoff18_el2
-       rwreg   amevcntvoff19_el2
-       rwreg   amevcntvoff110_el2
-       rwreg   amevcntvoff111_el2
-       rwreg   amevcntvoff112_el2
-       rwreg   amevcntvoff113_el2
-       rwreg   amevcntvoff114_el2
-       rwreg   amevcntvoff115_el2
-       rwreg   cntpoff_el2
+       rw_sys_reg      amcg1idr_el0 w=0
+       rw_sys_reg      cntpctss_el0 w=0
+       rw_sys_reg      cntvctss_el0 w=0
+       rw_sys_reg      hfgrtr_el2
+       rw_sys_reg      hfgwtr_el2
+       rw_sys_reg      hfgitr_el2
+       rw_sys_reg      hdfgrtr_el2
+       rw_sys_reg      hdfgwtr_el2
+       rw_sys_reg      hafgrtr_el2
+       rw_sys_reg      amevcntvoff00_el2
+       rw_sys_reg      amevcntvoff01_el2
+       rw_sys_reg      amevcntvoff02_el2
+       rw_sys_reg      amevcntvoff03_el2
+       rw_sys_reg      amevcntvoff04_el2
+       rw_sys_reg      amevcntvoff05_el2
+       rw_sys_reg      amevcntvoff06_el2
+       rw_sys_reg      amevcntvoff07_el2
+       rw_sys_reg      amevcntvoff08_el2
+       rw_sys_reg      amevcntvoff09_el2
+       rw_sys_reg      amevcntvoff010_el2
+       rw_sys_reg      amevcntvoff011_el2
+       rw_sys_reg      amevcntvoff012_el2
+       rw_sys_reg      amevcntvoff013_el2
+       rw_sys_reg      amevcntvoff014_el2
+       rw_sys_reg      amevcntvoff015_el2
+       rw_sys_reg      amevcntvoff10_el2
+       rw_sys_reg      amevcntvoff11_el2
+       rw_sys_reg      amevcntvoff12_el2
+       rw_sys_reg      amevcntvoff13_el2
+       rw_sys_reg      amevcntvoff14_el2
+       rw_sys_reg      amevcntvoff15_el2
+       rw_sys_reg      amevcntvoff16_el2
+       rw_sys_reg      amevcntvoff17_el2
+       rw_sys_reg      amevcntvoff18_el2
+       rw_sys_reg      amevcntvoff19_el2
+       rw_sys_reg      amevcntvoff110_el2
+       rw_sys_reg      amevcntvoff111_el2
+       rw_sys_reg      amevcntvoff112_el2
+       rw_sys_reg      amevcntvoff113_el2
+       rw_sys_reg      amevcntvoff114_el2
+       rw_sys_reg      amevcntvoff115_el2
+       rw_sys_reg      cntpoff_el2
 
        .arch   armv8.7-a
 
-       rwreg   pmsnevfr_el1
-       rwreg   hcrx_el2
+       rw_sys_reg      pmsnevfr_el1
+       rw_sys_reg      hcrx_el2
 
        .arch   armv8-a+the
 
-       rwreg   rcwmask_el1
-       rwreg   rcwsmask_el1
+       rw_sys_reg      rcwmask_el1
+       rw_sys_reg      rcwsmask_el1
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-test-utils.inc b/gas/testsuite/gas/aarch64/sysreg/sysreg-test-utils.inc
new file mode 100644 (file)
index 0000000..ac618db
--- /dev/null
@@ -0,0 +1,32 @@
+/** Test util to perform a READ and/or WRITE from/to a system register
+ *
+ * \param sysreg a system register.
+ * \param xreg   any general purpose register Xn (default=x0).
+ * \param r      boolean enabling or disabling the read test (default=1).
+ * \param w      boolean enabling or disabling the write test (default=1).
+ */
+.macro rw_sys_reg sys_reg xreg=x0 r=1 w=1
+.ifc \w, 1
+msr \sys_reg, \xreg
+.endif
+.ifc \r, 1
+mrs \xreg, \sys_reg
+.endif
+.endm
+
+/** 128-bits version of rw_sys_reg
+ *
+ * \param sysreg a system register.
+ * \param xreg1  first general-purpose destination register Xn (default=x0).
+ * \param xreg2  second general-purpose destination register Xn (default=x1).
+ * \param r      boolean enabling or disabling the read test (default=1).
+ * \param w      boolean enabling or disabling the write test (default=1).
+ */
+.macro rw_sys_reg_128 sys_reg xreg1=x0 xreg2=x1 r=1 w=1
+.ifc \w, 1
+msrr \sys_reg, \xreg1, \xreg2
+.endif
+.ifc \r, 1
+mrrs \xreg1, \xreg2, \sys_reg
+.endif
+.endm
index 6dfad54a72c31fe97e0d4a9e716c1d0257582af5..54ade34a87ea84b6f914c2b8a1d8275e7cdfeae1 100644 (file)
@@ -1,3 +1,5 @@
+#source: sysreg.s
+#as: -I$srcdir/$subdir
 #objdump: -dr
 
 .*:     file format .*
@@ -5,9 +7,9 @@
 Disassembly of section \.text:
 
 0+ <.*>:
-.*:    d51b9c67        msr     pmovsclr_el0, x7
+.*:    d51b9c60        msr     pmovsclr_el0, x0
 .*:    d53b9c60        mrs     x0, pmovsclr_el0
-.*:    d51b9e67        msr     pmovsset_el0, x7
+.*:    d51b9e60        msr     pmovsset_el0, x0
 .*:    d53b9e60        mrs     x0, pmovsset_el0
 .*:    d5380140        mrs     x0, id_dfr0_el1
 .*:    d5380100        mrs     x0, id_pfr0_el1
index 998f31596bde4d303d99ba886199bdb753af5af5..9c0fd4ae2fdbbbaf371ef1d6b5bcb19659904c83 100644 (file)
@@ -1,38 +1,31 @@
+       .include "sysreg-test-utils.inc"
 
-       # Test case for system registers
        .text
 
-       msr pmovsclr_el0, x7
-       mrs x0, pmovsclr_el0
-
-       msr pmovsset_el0, x7
-       mrs x0, pmovsset_el0
-
-       mrs x0, id_dfr0_el1
-       mrs x0, id_pfr0_el1
-       mrs x0, id_pfr1_el1
-       mrs x0, id_afr0_el1
-       mrs x0, id_mmfr0_el1
-       mrs x0, id_mmfr1_el1
-       mrs x0, id_mmfr2_el1
-       mrs x0, id_mmfr3_el1
-       mrs x0, id_mmfr4_el1
-       mrs x0, id_isar0_el1
-       mrs x0, id_isar1_el1
-       mrs x0, id_isar2_el1
-       mrs x0, id_isar3_el1
-       mrs x0, id_isar4_el1
-       mrs x0, id_isar5_el1
-
-       mrs x0, id_aa64isar2_el1
-       mrs x30, id_aa64isar2_el1
-
-       mrs x0, id_aa64isar3_el1
-       mrs x30, id_aa64isar3_el1
-
-       mrs x0, s3_0_c12_c15_0
-       msr s3_0_c4_c11_0, x0
-       mrs x0, s3_0_c4_c11_0
-
-       msr s2_1_c0_c3_0, x0
-       mrs x0, s2_1_c0_c3_0
+       rw_sys_reg sys_reg=pmovsclr_el0
+       rw_sys_reg sys_reg=pmovsset_el0
+
+       rw_sys_reg sys_reg=id_dfr0_el1 w=0
+       rw_sys_reg sys_reg=id_pfr0_el1 w=0
+       rw_sys_reg sys_reg=id_pfr1_el1 w=0
+       rw_sys_reg sys_reg=id_afr0_el1 w=0
+       rw_sys_reg sys_reg=id_mmfr0_el1 w=0
+       rw_sys_reg sys_reg=id_mmfr1_el1 w=0
+       rw_sys_reg sys_reg=id_mmfr2_el1 w=0
+       rw_sys_reg sys_reg=id_mmfr3_el1 w=0
+       rw_sys_reg sys_reg=id_mmfr4_el1 w=0
+       rw_sys_reg sys_reg=id_isar0_el1 w=0
+       rw_sys_reg sys_reg=id_isar1_el1 w=0
+       rw_sys_reg sys_reg=id_isar2_el1 w=0
+       rw_sys_reg sys_reg=id_isar3_el1 w=0
+       rw_sys_reg sys_reg=id_isar4_el1 w=0
+       rw_sys_reg sys_reg=id_isar5_el1 w=0
+
+       rw_sys_reg sys_reg=id_aa64isar2_el1 xreg=x0 w=0
+       rw_sys_reg sys_reg=id_aa64isar2_el1 xreg=x30 w=0
+       rw_sys_reg sys_reg=id_aa64isar3_el1 xreg=x0 w=0
+       rw_sys_reg sys_reg=id_aa64isar3_el1 xreg=x30 w=0
+
+       rw_sys_reg sys_reg=s3_0_c12_c15_0 w=0
+       rw_sys_reg sys_reg=s3_0_c4_c11_0
+       rw_sys_reg sys_reg=s2_1_c0_c3_0
index 2998c7b79a2bd77ef77b20da1dad0a4a94aea6d2..22df5e241b108a945dda5bff44f207f0deb4d2cc 100644 (file)
@@ -1,3 +1,5 @@
+#source: sysreg128.s
+#as: -I$srcdir/$subdir
 #objdump: -dr
 
 .*
@@ -6,23 +8,23 @@
 Disassembly of section \.text:
 
 0+ <\.text>:
-[^:]*: d5587402        msrr    par_el1, x2, x3
-[^:]*: d5787402        mrrs    x2, x3, par_el1
-[^:]*: d558d0c2        msrr    rcwmask_el1, x2, x3
-[^:]*: d578d0c2        mrrs    x2, x3, rcwmask_el1
-[^:]*: d558d062        msrr    rcwsmask_el1, x2, x3
-[^:]*: d578d062        mrrs    x2, x3, rcwsmask_el1
-[^:]*: d5582002        msrr    ttbr0_el1, x2, x3
-[^:]*: d5782002        mrrs    x2, x3, ttbr0_el1
-[^:]*: d55d2002        msrr    ttbr0_el12, x2, x3
-[^:]*: d57d2002        mrrs    x2, x3, ttbr0_el12
-[^:]*: d55c2002        msrr    ttbr0_el2, x2, x3
-[^:]*: d57c2002        mrrs    x2, x3, ttbr0_el2
-[^:]*: d5582022        msrr    ttbr1_el1, x2, x3
-[^:]*: d5782022        mrrs    x2, x3, ttbr1_el1
-[^:]*: d55d2022        msrr    ttbr1_el12, x2, x3
-[^:]*: d57d2022        mrrs    x2, x3, ttbr1_el12
-[^:]*: d55c2022        msrr    ttbr1_el2, x2, x3
-[^:]*: d57c2022        mrrs    x2, x3, ttbr1_el2
-[^:]*: d55c2102        msrr    vttbr_el2, x2, x3
-[^:]*: d57c2102        mrrs    x2, x3, vttbr_el2
\ No newline at end of file
+.*:    d5587402        msrr    par_el1, x2, x3
+.*:    d5787402        mrrs    x2, x3, par_el1
+.*:    d558d0c2        msrr    rcwmask_el1, x2, x3
+.*:    d578d0c2        mrrs    x2, x3, rcwmask_el1
+.*:    d558d062        msrr    rcwsmask_el1, x2, x3
+.*:    d578d062        mrrs    x2, x3, rcwsmask_el1
+.*:    d5582002        msrr    ttbr0_el1, x2, x3
+.*:    d5782002        mrrs    x2, x3, ttbr0_el1
+.*:    d55d2002        msrr    ttbr0_el12, x2, x3
+.*:    d57d2002        mrrs    x2, x3, ttbr0_el12
+.*:    d55c2002        msrr    ttbr0_el2, x2, x3
+.*:    d57c2002        mrrs    x2, x3, ttbr0_el2
+.*:    d5582022        msrr    ttbr1_el1, x2, x3
+.*:    d5782022        mrrs    x2, x3, ttbr1_el1
+.*:    d55d2022        msrr    ttbr1_el12, x2, x3
+.*:    d57d2022        mrrs    x2, x3, ttbr1_el12
+.*:    d55c2022        msrr    ttbr1_el2, x2, x3
+.*:    d57c2022        mrrs    x2, x3, ttbr1_el2
+.*:    d55c2102        msrr    vttbr_el2, x2, x3
+.*:    d57c2102        mrrs    x2, x3, vttbr_el2
index ee1d7cda3fa7e10b7b6523a30ea7c7dc2d7ab66f..165dfa713d84710ee44b609ca8e22c94e4f0f917 100644 (file)
@@ -1,17 +1,14 @@
-       .arch armv9.4-a+d128+the
+       .include "sysreg-test-utils.inc"
 
-       .macro  rwreg128, name
-       msrr    \name, x2, x3
-       mrrs    x2, x3, \name
-       .endm
+       .arch armv9.4-a+d128+the
 
-       rwreg128        par_el1
-       rwreg128        rcwmask_el1
-       rwreg128        rcwsmask_el1
-       rwreg128        ttbr0_el1
-       rwreg128        ttbr0_el12
-       rwreg128        ttbr0_el2
-       rwreg128        ttbr1_el1
-       rwreg128        ttbr1_el12
-       rwreg128        ttbr1_el2
-       rwreg128        vttbr_el2
+       rw_sys_reg_128 par_el1 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 rcwmask_el1 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 rcwsmask_el1 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 ttbr0_el1 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 ttbr0_el12 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 ttbr0_el2 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 ttbr1_el1 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 ttbr1_el12 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 ttbr1_el2 xreg1=x2 xreg2=x3
+       rw_sys_reg_128 vttbr_el2 xreg1=x2 xreg2=x3