gas: bpf: new test for MOV with C-like numbers ll suffix
authorJose E. Marchesi <jose.marchesi@oracle.com>
Mon, 30 Oct 2023 14:57:58 +0000 (15:57 +0100)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Mon, 30 Oct 2023 14:57:58 +0000 (15:57 +0100)
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.

gas/ChangeLog
gas/testsuite/gas/bpf/alu-be-pseudoc.d
gas/testsuite/gas/bpf/alu-pseudoc.d
gas/testsuite/gas/bpf/alu-pseudoc.s

index fef3c248196ef217f25ea564d3037afbb685ba0e..230a4a73039dbfefb99f0ea726daed8c71cb8b1f 100644 (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
index 4c0f6ba9ca6c5c32cad77e84b1d50f76869f7dd3..80d167c46ff74d7d1c3ec6b12bc6204ed2326d32 100644 (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
index b5ab569563cbf5d1dddec5b01196696369f25436..ea08c9a10da50ed1f66a9b14d71f23bcc2b362dc 100644 (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
\ No newline at end of file
index 323a6522f221993e15c609f40ad735e78de97f5f..3d60d4f7a770a1d8263cb7a1b3e9ee7ec07745f9 100644 (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