2013-07-25 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57960
* lra-constraints.c (process_alt_operands): Use the right mode
when checking strict_low.
2013-07-25 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57960
* gcc.target/s390/pr57960.c: New.
From-SVN: r201243
+2013-07-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/57960
+ * lra-constraints.c (process_alt_operands): Use the right mode
+ when checking strict_low.
+
2013-07-25 Jan Hubicka <jh@suse.cz>
* lto-symtab.c (lto_cgraph_replace_node): Release function body.
&& ira_class_hard_regs_num[this_alternative] > 0
&& ! HARD_REGNO_MODE_OK (ira_class_hard_regs
[this_alternative][0],
- GET_MODE (op)))
+ GET_MODE
+ (*curr_id->operand_loc[nop])))
goto fail;
losers++;
}
+2013-07-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/57960
+ * gcc.target/s390/pr57960.c: New.
+
2013-07-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/57639
--- /dev/null
+/* PR rtl-optimization/57960 */
+
+/* { dg-do compile } */
+/* { dg-options "-march=z10 -m64 -mzarch -O1" } */
+
+typedef union
+{
+ long double value;
+ struct
+ {
+ unsigned int w0, w1, w2, w3;
+ }
+ parts32;
+}
+ ieee854_long_double_shape_type;
+static const long double one = 1.0L;
+long double
+__ieee754_acosl (long double x)
+{
+ long double z, w;
+ int ix;
+ ieee854_long_double_shape_type u;
+
+ z = (one - u.value) * 0.5;
+ u.parts32.w2 = 0;
+ u.parts32.w3 = 0;
+ w = z - u.value * u.value;
+ return 2.0 * w;
+
+}