aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-openmp.c
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2021-06-09 09:46:00 +0200
committerUros Bizjak <ubizjak@gmail.com>2021-06-09 09:46:42 +0200
commit267dbd42f42c52a515f49c0875d296a9cf5988fe (patch)
treec01901d59c851d28d87b018b74aa9c8412920bfa /gcc/fortran/trans-openmp.c
parent59d6713a138edf60827189b27c6b4ce98069c196 (diff)
downloadgcc-267dbd42f42c52a515f49c0875d296a9cf5988fe.zip
gcc-267dbd42f42c52a515f49c0875d296a9cf5988fe.tar.gz
gcc-267dbd42f42c52a515f49c0875d296a9cf5988fe.tar.bz2
i386: Do not emit segment overrides for %p and %P [PR100936]
Using %p to move the address of a symbol using LEA: asm ("lea %p1, %0" : "=r"(addr) : "m"(var)); emits assembler warning when VAR is declared in a non-generic address space: Warning: segment override on `lea' is ineffectual The problem is with %p operand modifier, which should emit raw symbol name: p -- print raw symbol name. Similar problem exists with %P modifier, trying to CALL or JMP to an overridden symbol,e.g: call %gs:zzz jmp %gs:zzz emits assembler warning: Warning: skipping prefixes on `call' Warning: skipping prefixes on `jmp' Ensure that %p and %P never emit segment overrides. 2021-06-08 Uroš Bizjak <ubizjak@gmail.com> gcc/ PR target/100936 * config/i386/i386.c (print_operand_address_as): Rename "no_rip" argument to "raw". Do not emit segment overrides when "raw" is true. gcc/testsuite/ PR target/100936 * gcc.target/i386/pr100936.c: New test.
Diffstat (limited to 'gcc/fortran/trans-openmp.c')
0 files changed, 0 insertions, 0 deletions