gas: bpf: new test for MOV with C-like numbers ll suffix

The BPF pseudo-c syntax supports both MOV and LDDW instructions:

    mov:  r1 = EXPR
    lddw: r1 = EXPR ll

Note that the white space between EXPR and `ll' is necessary in order
to avoid ambiguity with the assembler's support for C-like numerical
suffixes.  This patch adds a new test to the GAS BPF testsuite to make
sure that instructions like:

    r1 = 666ll

are interpreted as `mov %r1,666', not as `lddw %r1,666'.

This matches clang's assembler behavior.

2023-10-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* testsuite/gas/bpf/alu-pseudoc.s: Add test to make sure C-like
	suffix `ll' is not interpreted as lddw syntax.
	* testsuite/gas/bpf/alu-pseudoc.d: Update expected results.
	* testsuite/gas/bpf/alu-be-pseudoc.d: Likewise.
This commit is contained in:
Jose E. Marchesi 2023-10-30 15:57:58 +01:00
parent a23cf0c2ec
commit d3beaa140d
4 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2023-10-30 Jose E. Marchesi <jose.marchesi@oracle.com>
* testsuite/gas/bpf/alu-pseudoc.s: Add test to make sure C-like
suffix `ll' is not interpreted as lddw syntax.
* testsuite/gas/bpf/alu-pseudoc.d: Update expected results.
* testsuite/gas/bpf/alu-be-pseudoc.d: Likewise.
2023-10-02 Nick Clifton <nickc@redhat.com>
PR 30861

View File

@ -69,3 +69,4 @@ Disassembly of section .text:
1d0: d7 10 00 00 00 00 00 10 r1 = bswap16 r1
1d8: d7 20 00 00 00 00 00 20 r2 = bswap32 r2
1e0: d7 30 00 00 00 00 00 40 r3 = bswap64 r3
1e8: b7 20 00 00 00 00 02 9a r2=0x29a

View File

@ -69,3 +69,4 @@ Disassembly of section .text:
1d0: d7 01 00 00 10 00 00 00 r1 = bswap16 r1
1d8: d7 02 00 00 20 00 00 00 r2 = bswap32 r2
1e0: d7 03 00 00 40 00 00 00 r3 = bswap64 r3
1e8: b7 02 00 00 9a 02 00 00 r2=0x29a

View File

@ -61,3 +61,5 @@
r1 = bswap16 r1
r2 = bswap32 r2
r3 = bswap64 r3
;; The following is to be interpreted as a mov, not lddw.
r2 = 666ll