Commit 9f11a4a7 by Jakub Jelinek Committed by Jakub Jelinek

re PR target/79197 (ICE in extract_insn in gcc/recog.c:2311)

	PR target/79197
	* config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
	(fixuns_trunc<mode>di2): ... this, remove previous expander.  Put all
	conditions on a single line.

	* gcc.target/powerpc/pr79197.c: New test.
	* gcc.c-torture/compile/pr79197.c: New test.

From-SVN: r245120
parent 09661674
2017-02-02 Jakub Jelinek <jakub@redhat.com>
PR target/79197
* config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
(fixuns_trunc<mode>di2): ... this, remove previous expander. Put all
conditions on a single line.
2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
......
...@@ -5739,17 +5739,10 @@ ...@@ -5739,17 +5739,10 @@
[(set_attr "length" "12") [(set_attr "length" "12")
(set_attr "type" "fp")]) (set_attr "type" "fp")])
(define_expand "fixuns_trunc<mode>di2" (define_insn "fixuns_trunc<mode>di2"
[(set (match_operand:DI 0 "register_operand" "")
(unsigned_fix:DI (match_operand:SFDF 1 "register_operand" "")))]
"TARGET_HARD_FLOAT && (TARGET_FCTIDUZ || VECTOR_UNIT_VSX_P (<MODE>mode))"
"")
(define_insn "*fixuns_trunc<mode>di2_fctiduz"
[(set (match_operand:DI 0 "gpc_reg_operand" "=d,wi") [(set (match_operand:DI 0 "gpc_reg_operand" "=d,wi")
(unsigned_fix:DI (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>")))] (unsigned_fix:DI (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>")))]
"TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_FPRS "TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_FPRS && TARGET_FCTIDUZ"
&& TARGET_FCTIDUZ"
"@ "@
fctiduz %0,%1 fctiduz %0,%1
xscvdpuxds %x0,%x1" xscvdpuxds %x0,%x1"
......
2017-02-02 Jakub Jelinek <jakub@redhat.com>
PR target/79197
* gcc.target/powerpc/pr79197.c: New test.
* gcc.c-torture/compile/pr79197.c: New test.
2017-02-02 Richard Biener <rguenther@suse.de> 2017-02-02 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/pr71078-3.c: Do not rely on math.h. * gcc.dg/tree-ssa/pr71078-3.c: Do not rely on math.h.
......
/* PR target/79197 */
unsigned long b;
unsigned long
foo (float *a, float *x)
{
__builtin_memcpy (a, x, sizeof (float));
return *a;
}
/* PR target/79197 */
/* { dg-do compile } */
/* { dg-options "-O0 -mno-popcntd" } */
unsigned a;
void
foo (void)
{
a = *(double *) (__UINTPTR_TYPE__) 0x400000;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment