+2015-12-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/64910
+ * config/i386/i386.md (testqi_ext_3): Allow HImode.
+
2015-12-20 Andrew Pinsi <apinski@cavium.com>
* config/aarch64/atomics.md
;; Combine likes to form bit extractions for some tests. Humor it.
(define_insn "*testqi_ext_3"
[(set (reg FLAGS_REG)
- (compare (zero_extract:SWI48
+ (compare (zero_extract:SWI248
(match_operand 0 "nonimmediate_operand" "rm")
(match_operand 1 "const_int_operand" "n")
(match_operand 2 "const_int_operand" "n"))
+2015-12-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/64910
+ * gcc.target/i386/bittest.c: New test.
+
2015-12-20 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/complex1.adb: New test.
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+extern int dbg_cnt (void);
+
+struct function
+{
+ unsigned int calls_setjmp:1;
+};
+extern struct function *cfun;
+unsigned char
+gate_rtl_cprop (void)
+{
+ return !(cfun + 0)->calls_setjmp && dbg_cnt ();
+}
+
+/* This should be implementable without performing a bitmask as we can
+ just use a test imm,mem. So instructions which load the object from
+ memory and mask off bits are unnecessary. In theory we can just count
+ the move-with-extension, and and testb instructions. There should be
+ only one. */
+/* { dg-final { scan-assembler-times "movzbl|and|testb" 1 { target { i?86-*-* x86_64-*-*} } } } */