Incorrect warning for AVX512 gathers
On the current tip of binutils-2_26-branch, gas is emitting an incorrect warning 'Warning: index and destination registers should be distinct' when the two zmm registers are separated by 16. For exmaple, zmm19 and zmm3 in 'vgatherqpd (%rax,%zmm19,8), %zmm3 {%k1}'. This warning was added in commit 8444f82a1d163171deccfcf014cc31adb81f703b. The problem appears to be that the register_number() function in gas/config/tc-i386.c doesn't check for RegVRex flag like it does for the RegRex flag, leading to aliasing issues between the low and high 16 registers. Steven Vormwald ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
Invalid R_X86_64_GOTPCREL - R_X86_64_PC32 conversions with binutils 2.24/2.25?
When updating from binutils 2.23 to 2.25, we have run into truncated to fit: R_X86_64_PC32 against symbol errors for symbols that only have R_X86_64_GOTPCREL relocations. One of the object files that is being linked contains a handful of large arrays that end up being placed more than 2GB away from the text that references them, hence the use of R_X86_64_GOTPCREL relocations rather than simpler relocations with offset limitations. It looks like the linker is automatically converting these back to a relocation with stricter distance limits due to mod 80d873266deca488bd8059e32780e8ce3ef6191d (Convert mov to lea for loading local function address). Are we misusing R_X86_64_GOTPCREL or is this an ld bug? Steven Vormwald ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils