https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93053

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ktkachov at gcc dot gnu.org

--- Comment #9 from ktkachov at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #8)
> I've tried manually:
> --- cas_16_1.s~       2020-04-14 12:19:03.000000000 +0200
> +++ cas_16_1.s        2020-04-14 12:20:10.083098672 +0200
> @@ -5,7 +5,7 @@
>  # 1 "<command-line>" 2
>  # 1 "/usr/src/gcc/libgcc/config/aarch64/lse.S"
>  # 53 "/usr/src/gcc/libgcc/config/aarch64/lse.S"
> - .arch armv8-a+lse
> + .arch armv8-a
>  
>  
>   .hidden __aarch64_have_lse_atomics
> @@ -37,7 +37,8 @@
>  STARTFN __aarch64_cas16_relax
>   JUMP_IF_NOT_LSE 8f
>  # 166 "/usr/src/gcc/libgcc/config/aarch64/lse.S"
> - casp x0, x1, x2, x3, [x4]
> +// casp x0, x1, x2, x3, [x4]
> + .word 0x48207c82
>   ret
>  
>  8: mov x16, x0
> which assembles (the constant taken from aarch64-linux-objdump -dr before
> the changes), but for some reason when disassembled aarch64-linux-objdump
> -dr knows that it was .word and not casp instruction.
> Any way to emit insns not supported by the assembler?

There is the .inst directive

Reply via email to