Only in binutils-2.35.2/gas/testsuite/gas/aarch64: rng-1.d Only in binutils-2.35.2/gas/testsuite/gas/aarch64: rng-1.s diff -rup binutils.orig/opcodes/aarch64-opc.c binutils-2.35.2/opcodes/aarch64-opc.c --- binutils.orig/opcodes/aarch64-opc.c 2022-04-05 11:50:10.131798329 +0100 +++ binutils-2.35.2/opcodes/aarch64-opc.c 2022-04-05 11:54:32.596827591 +0100 @@ -3810,9 +3810,6 @@ aarch64_print_operand (char *buf, size_t #define SR_FEAT(n,e,f,feat) \ SYSREG ((n), (e), (f) | F_ARCHEXT, AARCH64_FEATURE_##feat) -#define SR_RNG(n,e,f) \ - SYSREG ((n), (e), (f) | F_ARCHEXT, AARCH64_FEATURE_RNG | AARCH64_FEATURE_V8_5) - #define SR_V8_1(n,e,f) SR_FEAT (n,e,f,V8_1) #define SR_V8_2(n,e,f) SR_FEAT (n,e,f,V8_2) #define SR_V8_3(n,e,f) SR_FEAT (n,e,f,V8_3) @@ -3820,6 +3817,7 @@ aarch64_print_operand (char *buf, size_t #define SR_V8_4(n,e,f) SR_FEAT (n,e,f,V8_4) #define SR_PAN(n,e,f) SR_FEAT (n,e,f,PAN) #define SR_RAS(n,e,f) SR_FEAT (n,e,f,RAS) +#define SR_RNG(n,e,f) SR_FEAT (n,e,f,RNG) #define SR_SSBS(n,e,f) SR_FEAT (n,e,f,SSBS) #define SR_SVE(n,e,f) SR_FEAT (n,e,f,SVE) #define SR_ID_PFR2(n,e,f) SR_FEAT (n,e,f,ID_PFR2) --- /dev/null 2022-04-05 09:32:54.900867346 +0100 +++ binutils-2.35.2/gas/testsuite/gas/aarch64/rng-1.s 2022-04-05 11:55:13.973674567 +0100 @@ -0,0 +1,3 @@ + .arch armv8.4-a+rng + mrs x5, rndr + mrs x6, rndrrs --- /dev/null 2022-04-05 09:32:54.900867346 +0100 +++ binutils-2.35.2/gas/testsuite/gas/aarch64/rng-1.d 2022-04-05 11:55:45.338558554 +0100 @@ -0,0 +1,10 @@ +#source: rng-1.s +#objdump: -dr + +.*: file format .* + +Disassembly of section \.text: + +0+ <.*>: +.*: d53b2405 mrs x5, rndr +.*: d53b2426 mrs x6, rndrrs --- binutils.orig/gas/config/tc-aarch64.c 2022-05-23 09:44:07.623234684 +0100 +++ binutils-2.35.2/gas/config/tc-aarch64.c 2022-05-23 09:47:09.147696001 +0100 @@ -9206,7 +9206,7 @@ aarch64_parse_features (const char *str, break; } - if (opt->name == NULL) + if (opt->name == NULL && adding_value) { as_bad (_("unknown architectural extension `%s'"), str); return 0;