[PATCH v2] x86: Disallow GOT memory as vector memory operand
Jan Beulich
jbeulich@suse.com
Thu Feb 6 13:02:16 GMT 2025
More information about the Binutils mailing list
Thu Feb 6 13:02:16 GMT 2025
- Previous message (by thread): [PATCH v2] x86: Disallow GOT memory as vector memory operand
- Next message (by thread): [PATCH v2] x86: Disallow GOT memory as vector memory operand
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 06.02.2025 04:32, H.J. Lu wrote: > GOT memory is 4-byte for i386 and 8-byte for x86-64. Disallow GOT memory > as vector memory operand for vector instructions which don't support 32-bit > nor 64-bit memory. > > PR gas/32624 > * config/tc-i386.c (output_disp): Disallow GOT memory as vector > memory operand. > * testsuite/gas/i386/got.s: Add vcvtph2qq with GOT memory. > * testsuite/gas/i386/x86-64-gotpcrel-2.s: Add vcvtph2qq and > vcvtps2pd with GOT memory. > * testsuite/gas/i386/got-no-relax.d: Updated. > * testsuite/gas/i386/got.d: Likewise. > * testsuite/gas/i386/x86-64-gotpcrel-2.d: Likewise. > * testsuite/gas/i386/i386.exp: Run inval-got. > * testsuite/gas/i386/inval-got.l: New file. > * testsuite/gas/i386/inval-got.s: Likewise. > * testsuite/gas/i386/x86-64-inval-got.l: Likewise. > * testsuite/gas/i386/x86-64-inval-got.l: Likewise. > * testsuite/gas/i386/x86-64.exp: Run x86-64-inval-got. Hmm, I'm further puzzled: On what basis would VCVTPS2DQ and VCVTPH2QQ be okay to use with an operand in GOT? And then, if I'm reading the added logic right, VADDPS foo@GOTPCREL(%rip), %zmm0, %zmm1 would be permitted despite having a 512-bit memory operand, just because it also permits embedded broadcast (which isn't in use here). Whereas VADDPS foo@GOTPCREL(%rip), %ymm0, %ymm1 wouldn't be, unless prefixed by {evex}. How in the world are people to infer what is or is not allowed by the assembler? As before, my requirements are: 1) underlying criteria being clearly / unambiguously spelled out in the psABI, and/or 2) such extra checking being optional, default-off (to some degree depending on how things would be worded in the psABI). Jan
- Previous message (by thread): [PATCH v2] x86: Disallow GOT memory as vector memory operand
- Next message (by thread): [PATCH v2] x86: Disallow GOT memory as vector memory operand
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list