+2016-11-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/78262
+ * config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark
+ operand 0 as earlyclobber.
+
2016-11-06 Jack Howarth <howarth.at.gcc@gmail.com>
PR driver/78206
2016-11-03 Martin Liska <mliska@suse.cz>
- Backport from mainline
- 2016-08-12 Martin Liska <mliska@suse.cz>
- Adam Fineman <afineman@afineman.com>
+ Backport from mainline
+ 2016-08-12 Martin Liska <mliska@suse.cz>
+ Adam Fineman <afineman@afineman.com>
- * gcov.c (process_file): Create .gcov file when .gcda
- file is missing.
+ * gcov.c (process_file): Create .gcov file when .gcda
+ file is missing.
2016-11-03 Eric Botcazou <ebotcazou@adacore.com>
(set_attr "mode" "<MODE>")])
(define_insn_and_split "*<shift_insn><mode>3_doubleword"
- [(set (match_operand:DWI 0 "register_operand" "=r")
+ [(set (match_operand:DWI 0 "register_operand" "=&r")
(any_shiftrt:DWI (match_operand:DWI 1 "register_operand" "0")
(match_operand:QI 2 "nonmemory_operand" "<S>c")))
(clobber (reg:CC FLAGS_REG))]
+2016-11-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/78262
+ * gcc.target/i386/pr78262.c: New test.
+
2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org>
Backport from trunk
2016-11-03 Martin Liska <mliska@suse.cz>
- Backport from mainline
- 2016-08-12 Martin Liska <mliska@suse.cz>
+ Backport from mainline
+ 2016-08-12 Martin Liska <mliska@suse.cz>
- * g++.dg/gcov/gcov-16.C: New test.
- * lib/gcov.exp: Support new argument for run-gcov function.
+ * g++.dg/gcov/gcov-16.C: New test.
+ * lib/gcov.exp: Support new argument for run-gcov function.
2016-11-02 Will Schmidt <will_schmidt@vnet.ibm.com>
2016-10-13 Andrew Senkevich <andrew.senkevich@intel.com>
Backport from trunk
- * testsuite/gcc.target/i386/pcommit-1.c: Deleted test.
- * testsuite/gcc.target/i386/sse-12.c: Deleted -pcommit option.
- * testsuite/gcc.target/i386/sse-13.c: Ditto.
- * testsuite/gcc.target/i386/sse-14.c: Ditto.
- * testsuite/gcc.target/i386/sse-22.c: Ditto.
- * testsuite/gcc.target/i386/sse-23.c: Ditto.
- * testsuite/g++.dg/other/i386-2.C: Ditto.
- * testsuite/g++.dg/other/i386-3.C: Ditto.
+ * gcc.target/i386/pcommit-1.c: Deleted test.
+ * gcc.target/i386/sse-12.c: Deleted -pcommit option.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
2016-10-10 Eric Botcazou <ebotcazou@adacore.com>
--- /dev/null
+/* { dg-do run } */
+/* { dg-require-effective-target int128 } */
+/* { dg-options "-O -fschedule-insns" } */
+
+typedef unsigned char u8;
+typedef unsigned __int128 u128;
+
+static u128 u128_0;
+static u128 *p128;
+
+u128 __attribute__ ((noinline, noclone))
+foo(u8 u8_0)
+{
+ p128 = &u128_0;
+ u128_0 = u8_0;
+ u128_0 = u128_0 << 127 | u128_0 >> 1;
+ u128_0 >>= (u8)u128_0;
+ return 2 + u128_0;
+}
+
+int
+main()
+{
+ u128 x = foo(5);
+ if (p128 != &u128_0)
+ __builtin_abort();
+ if (u128_0 != ((u128)2 << 124))
+ __builtin_abort();
+ if (x != ((u128)2 << 124) + 2)
+ __builtin_abort();
+ return 0;
+}