RISC-V: Replace .option rvc/norvc with .option arch, +c/-c.
authorNelson Chu <nelson.chu@sifive.com>
Mon, 22 Nov 2021 10:21:15 +0000 (18:21 +0800)
committerNelson Chu <nelson.chu@sifive.com>
Mon, 22 Nov 2021 11:31:29 +0000 (19:31 +0800)
Since the .option rvc/norvc directives are obsolete, replace them with
the new proposed diretives: .option arch, +c/-c.  And also reset the
riscv_opts.rvc flag for the .option arch directives.

gas/
* config/tc-riscv.c (s_riscv_option): Reset the riscv_opts.rvc
for the .option arch directives.
* testsuite/gas/riscv/align-1.s: Replace the obsolete .option
rvc/norvc with .option arch, +c/-c.
* testsuite/gas/riscv/c-add-addi.s: Likewise.
* testsuite/gas/riscv/c-nonzero-imm.s: Likewise.
* testsuite/gas/riscv/c-nonzero-reg.s: Likewise.
* testsuite/gas/riscv/c-zero-imm-64.s: Likewise.
* testsuite/gas/riscv/c-zero-imm.s: Likewise.
* testsuite/gas/riscv/c-zero-reg.s: Likewise.
* testsuite/gas/riscv/ext.s: Likewise.
* testsuite/gas/riscv/mapping-01.s: Likewise.
* testsuite/gas/riscv/mapping-02.s: Likewise.
* testsuite/gas/riscv/mapping-03.s: Likewise.
* testsuite/gas/riscv/mapping-04.s: Likewise.
* testsuite/gas/riscv/no-relax-align-2.s: Likewise.
* testsuite/gas/riscv/shamt-32.s: Likewise.
* testsuite/gas/riscv/shamt-64.s: Likewise.

16 files changed:
gas/config/tc-riscv.c
gas/testsuite/gas/riscv/align-1.s
gas/testsuite/gas/riscv/c-add-addi.s
gas/testsuite/gas/riscv/c-nonzero-imm.s
gas/testsuite/gas/riscv/c-nonzero-reg.s
gas/testsuite/gas/riscv/c-zero-imm-64.s
gas/testsuite/gas/riscv/c-zero-imm.s
gas/testsuite/gas/riscv/c-zero-reg.s
gas/testsuite/gas/riscv/ext.s
gas/testsuite/gas/riscv/mapping-01.s
gas/testsuite/gas/riscv/mapping-02.s
gas/testsuite/gas/riscv/mapping-03.s
gas/testsuite/gas/riscv/mapping-04.s
gas/testsuite/gas/riscv/no-relax-align-2.s
gas/testsuite/gas/riscv/shamt-32.s
gas/testsuite/gas/riscv/shamt-64.s

index da3d91156672d74ef4a5b57de1f7ab1cf7c1c23e..e8061217e7cd63e423c4266c61c7f2d5c1abf283 100644 (file)
@@ -3773,6 +3773,10 @@ s_riscv_option (int x ATTRIBUTE_UNUSED)
       if (ISSPACE (*name) && *name != '\0')
        name++;
       riscv_update_subset (&riscv_rps_as, name);
+
+      riscv_set_rvc (false);
+      if (riscv_subset_supports (&riscv_rps_as, "c"))
+       riscv_set_rvc (true);
     }
   else if (strcmp (name, "push") == 0)
     {
index ee6a94dea78ce376f7a32bf3deb0bbe889345903..ec28556e7be65636ce57dfa83a2ab1bceb2f93df 100644 (file)
@@ -1,3 +1,3 @@
-       .option norvc
+       .option arch, -c
        .align 2
        .align 1
index 527449111dc56872056a7ba73b9ef44e41cd95b4..8cfcea103db05c76b16c5b6bd35dc5687f68a013 100644 (file)
@@ -1,3 +1,3 @@
-.option rvc
+.option arch, +c
 addi a2, zero, 1
 add a0, zero, a1
index 1b876ab56bad4d5091bc28a0947ea163d70c1bae..75b25ae465b38af30fb0be91a0d34996b2122a3b 100644 (file)
@@ -1,3 +1,3 @@
-       .option rvc
+       .option arch, +c
        c.nop 0
        c.nop 1
index 23d51c31b72a82c1b0d89635ba06e477ef049d60..4f9245b7ff393082640b5bbb0b6f671c7a104366 100644 (file)
@@ -1,3 +1,3 @@
-       .option rvc
+       .option arch, +c
        c.addiw x0, 10
        c.jr x0
index ffe743e92d8900250781ea365ab60b72382a4102..de7564595a11a3ad5f2cbda1af3d8b41071bf7be 100644 (file)
@@ -1,4 +1,4 @@
-       .option rvc
+       .option arch, +c
        # These are valid instructions.
        addiw a6,a6,0
        c.addiw a7,0
index 62c3e1a1cd55013f0e5e0e2929f4533660fc1b6c..4c5a5c276f82e0dbf4d96cbc822187c17ea45b41 100644 (file)
@@ -1,4 +1,4 @@
-       .option rvc
+       .option arch, +c
        # These are valid instructions.
        li a0,0
        c.li a1,0
index 4e3903039e582a14a9fb1a90a57d7bdc3541a9f3..2d32d4445e940e32a66d4949795a0d2ff8bbeb36 100644 (file)
@@ -1,4 +1,4 @@
-       .option rvc
+       .option arch, +c
        # These are hints.
        c.li x0, 1
        c.lui x0, 2
index f95713422a217926f1d51f44bf8e98f2cd3cf02a..0268dcafc1d3576cba112fa0c4a8bca1ad830933 100644 (file)
@@ -1,5 +1,5 @@
 target:
-       .option norvc
+       .option arch, -c
        zext.b  a0, a0
        zext.h  a0, a0
        sext.b  a0, a0
@@ -18,7 +18,7 @@ target:
        sext.w  a1, a2
 .endif
 
-       .option rvc
+       .option arch, +c
        zext.b  a0, a0
        zext.h  a0, a0
        sext.b  a0, a0
index 000209886e21f910aa9943c13945012d4b5d1da2..989463f91eed5ee22ee5cef62cb32f9d65ad3e78 100644 (file)
@@ -1,4 +1,4 @@
-       .option norvc
+       .option arch, -c
        .text
        .global funcA
 funcA:
index f8306d0643e55ebdcf6aa98257e8456daf14d9fb..79468c0d14f18564e4953dffde3b26ff8de322b6 100644 (file)
@@ -1,4 +1,4 @@
-       .option norvc
+       .option arch, -c
        .text
        .word   1
        add     a0, a0, a0
index a099eacc7f756cc93a45999c469bed5640d0bed3..88f2601568d1457c2292eb79b9bf65ddfa257098 100644 (file)
@@ -1,4 +1,4 @@
-       .option norvc
+       .option arch, -c
        .text
        add     a0, a0, a0
        .long   0
index c597495b9152c317a2d9995586569235a0768564..804b0397737c4f7135f947e5a8006dba8e99f190 100644 (file)
@@ -1,5 +1,5 @@
        .text
-       .option norvc
+       .option arch, -c
        .fill   2, 4, 0x1001
        .byte   1
        .word   0
index ccd353ddcf3c107c712a2e7e8b33cd68216248ac..8ed0ed3b44d06ef25c5447039df027b54f080abb 100644 (file)
@@ -1,5 +1,5 @@
        .option norelax
-       .option rvc
+       .option arch, +c
        .byte 0
        .align 4
        nop
index 6f1a5ba4d821a9daa95765e11af71674d5c9cd88..a673f8810dc4c9f6888af0479fd0722b5074eda3 100644 (file)
@@ -1,4 +1,4 @@
-       .option norvc
+       .option arch, -c
        slli    a0, a0, 0
        slli    a0, a0, 31
        slli    a0, a0, 32
@@ -14,7 +14,7 @@
        srai    a0, a0, 32
        srai    a0, a0, 63
 
-       .option rvc
+       .option arch, +c
        slli    a0, a0, 0
        slli    a0, a0, 31
        slli    a0, a0, 32
index 703dfb211bdad765c787f1f20c0520ed860696a3..8878318f4a709dd20428f00b938d50065a733c2a 100644 (file)
@@ -1,4 +1,4 @@
-       .option norvc
+       .option arch, -c
        slli    a0, a0, 0
        slli    a0, a0, 31
        slli    a0, a0, 32
@@ -29,7 +29,7 @@
        sraiw   a0, a0, 32
        sraiw   a0, a0, 63
 
-       .option rvc
+       .option arch, +c
        slli    a0, a0, 0
        slli    a0, a0, 31
        slli    a0, a0, 32