aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-structalias.c
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-09-22 13:16:39 +0200
committerTom de Vries <tdevries@suse.de>2020-09-23 09:21:20 +0200
commitca52f937fff52c494ef2951490c1654750ef8157 (patch)
tree69c5b36647f5ab44c798abd81e27fc6568959803 /gcc/tree-ssa-structalias.c
parent28d3b78dff512e18fc45c45e10c705e2a5ae3b48 (diff)
downloadgcc-ca52f937fff52c494ef2951490c1654750ef8157.zip
gcc-ca52f937fff52c494ef2951490c1654750ef8157.tar.gz
gcc-ca52f937fff52c494ef2951490c1654750ef8157.tar.bz2
[nvptx] Handle move from DF subreg to DF reg in nvptx_output_mov_insn
When compiling test-case gcc.dg/atomic/c11-atomic-exec-1.c, we run into these ptxas errors: ... line 100; error: Rounding modifier required for instruction 'cvt' line 105; error: Rounding modifier required for instruction 'cvt' ... The problem is that this move: ... //(insn 13 11 14 2 // (set (reg:DF 28 [ _9 ]) // (subreg:DF (reg:TI 22 [ _1 ]) 0)) 9 {*movdf_insn} // (nil)) cvt.f64.u64 %r28, %r22$0; ... is emitted as cvt.f64.u64, while it should be a mov.b64 instead. Fix this by handling this case in nvptx_output_mov_insn. Tested on nvptx. gcc/ChangeLog: PR target/97158 * config/nvptx/nvptx.c (nvptx_output_mov_insn): Handle move from DF subreg to DF reg.
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
0 files changed, 0 insertions, 0 deletions