Incorrect warning for AVX512 gathers

2016-02-18 Thread Steve Vormwald
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?

2015-06-24 Thread Steve Vormwald
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