diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2017-09-20 15:33:43 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2017-09-20 15:33:43 +0200 |
commit | 2288ea23816dd1368d92b4386f7f9aab2fcf1aaf (patch) | |
tree | f02a8b355a979e7cf7a41d1429839be91ad6d6a4 /gcc | |
parent | 20f661fbd2fce6c486bb8b0b5ff1161330c38e7d (diff) | |
download | gcc-2288ea23816dd1368d92b4386f7f9aab2fcf1aaf.zip gcc-2288ea23816dd1368d92b4386f7f9aab2fcf1aaf.tar.gz gcc-2288ea23816dd1368d92b4386f7f9aab2fcf1aaf.tar.bz2 |
Revert my 2017-09-19 patch.
From-SVN: r253012
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 92 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/bt-5.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/bt-6.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/bt-mask-3.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/bt-mask-4.c | 12 |
7 files changed, 0 insertions, 152 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3ee9ea1..b41cd03 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -130,12 +130,6 @@ 2017-09-19 Uros Bizjak <ubizjak@gmail.com> - * config/i386/i386.md (*scc_bt<mode>): New insn_and_split pattern. - (*scc_bt<mode>_1): Ditto. - (*scc_bt<mode>_mask): Ditto. - -2017-09-19 Uros Bizjak <ubizjak@gmail.com> - * config/i386/i386.c (ix86_split_long_move): Do not handle address used for LEA in a special way. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index b1bde14..43227dc 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -11246,98 +11246,6 @@ (const_string "SI") (const_string "<MODE>")))]) -(define_insn_and_split "*scc_bt<mode>" - [(set (match_operand:QI 0 "nonimmediate_operand") - (match_operator 1 "bt_comparison_operator" - [(zero_extract:SWI48 - (match_operand:SWI48 2 "nonimmediate_operand") - (const_int 1) - (match_operand:SI 3 "nonmemory_operand")) - (const_int 0)])) - (clobber (reg:CC FLAGS_REG))] - "(TARGET_USE_BT || optimize_function_for_size_p (cfun)) - && (CONST_INT_P (operands[3]) - ? (INTVAL (operands[3]) < GET_MODE_BITSIZE (<MODE>mode) - && INTVAL (operands[3]) - >= (optimize_function_for_size_p (cfun) ? 8 : 32)) - : !memory_operand (operands[2], <MODE>mode)) - && can_create_pseudo_p ()" - "#" - "&& 1" - [(set (reg:CCC FLAGS_REG) - (compare:CCC - (zero_extract:SWI48 - (match_dup 2) - (const_int 1) - (match_dup 3)) - (const_int 0))) - (set (match_dup 0) - (match_op_dup 1 [(reg:CCC FLAGS_REG) (const_int 0)]))] -{ - operands[1] = shallow_copy_rtx (operands[1]); - PUT_CODE (operands[1], reverse_condition (GET_CODE (operands[1]))); -}) - -(define_insn_and_split "*scc_bt<mode>_1" - [(set (match_operand:QI 0 "nonimmediate_operand") - (match_operator 1 "bt_comparison_operator" - [(zero_extract:SWI48 - (match_operand:SWI48 2 "register_operand") - (const_int 1) - (zero_extend:SI - (match_operand:QI 3 "register_operand"))) - (const_int 0)])) - (clobber (reg:CC FLAGS_REG))] - "(TARGET_USE_BT || optimize_function_for_size_p (cfun)) - && can_create_pseudo_p ()" - "#" - "&& 1" - [(set (reg:CCC FLAGS_REG) - (compare:CCC - (zero_extract:SWI48 - (match_dup 2) - (const_int 1) - (match_dup 3)) - (const_int 0))) - (set (match_dup 0) - (match_op_dup 1 [(reg:CCC FLAGS_REG) (const_int 0)]))] -{ - operands[3] = lowpart_subreg (SImode, operands[3], QImode); - operands[1] = shallow_copy_rtx (operands[1]); - PUT_CODE (operands[1], reverse_condition (GET_CODE (operands[1]))); -}) - -;; Avoid useless masking of bit offset operand. -(define_insn_and_split "*scc_bt<mode>_mask" - [(set (match_operand:QI 0 "nonimmediate_operand") - (match_operator 1 "bt_comparison_operator" - [(zero_extract:SWI48 - (match_operand:SWI48 2 "register_operand") - (const_int 1) - (and:SI - (match_operand:SI 3 "register_operand") - (match_operand 4 "const_int_operand")))])) - (clobber (reg:CC FLAGS_REG))] - "(TARGET_USE_BT || optimize_function_for_size_p (cfun)) - && (INTVAL (operands[4]) & (GET_MODE_BITSIZE (<MODE>mode)-1)) - == GET_MODE_BITSIZE (<MODE>mode)-1 - && can_create_pseudo_p ()" - "#" - "&& 1" - [(set (reg:CCC FLAGS_REG) - (compare:CCC - (zero_extract:SWI48 - (match_dup 2) - (const_int 1) - (match_dup 3)) - (const_int 0))) - (set (match_dup 0) - (match_op_dup 1 [(reg:CCC FLAGS_REG) (const_int 0)]))] -{ - operands[1] = shallow_copy_rtx (operands[1]); - PUT_CODE (operands[1], reverse_condition (GET_CODE (operands[1]))); -}) - (define_insn_and_split "*jcc_bt<mode>" [(set (pc) (if_then_else (match_operator 0 "bt_comparison_operator" diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3ebdab9..65c489e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -58,13 +58,6 @@ (check_effective_target_frame_pointer_for_non_leaf): Likewise. (check_effective_target_caller_implicit_probes): Likewise. -2017-09-19 Uros Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/bt-5.c: New test. - * gcc.target/i386/bt-6.c: Ditto. - * gcc.target/i386/bt-mask-3.c: Ditto. - * gcc.target/i386/bt-mask-4.c: Ditto. - 2017-09-19 Jakub Jelinek <jakub@redhat.com> * g++.dg/tree-ssa/pr31146-2.C: Only do scan-tree-dump for c++14_down. diff --git a/gcc/testsuite/gcc.target/i386/bt-5.c b/gcc/testsuite/gcc.target/i386/bt-5.c deleted file mode 100644 index 309adfe..0000000 --- a/gcc/testsuite/gcc.target/i386/bt-5.c +++ /dev/null @@ -1,11 +0,0 @@ -/* PR target/36473 */ -/* { dg-do compile } */ -/* { dg-options "-O2 -mtune=core2" } */ -/* { dg-additional-options "-mregparm=2" { target ia32 } } */ - -int test(unsigned x, unsigned n) -{ - return !(x & ( 0x01 << n )); -} - -/* { dg-final { scan-assembler "btl\[ \t\]" } } */ diff --git a/gcc/testsuite/gcc.target/i386/bt-6.c b/gcc/testsuite/gcc.target/i386/bt-6.c deleted file mode 100644 index 994ec43..0000000 --- a/gcc/testsuite/gcc.target/i386/bt-6.c +++ /dev/null @@ -1,12 +0,0 @@ -/* PR target/36473 */ -/* { dg-do compile } */ -/* { dg-options "-O2 -mtune=core2" } */ -/* { dg-additional-options "-mregparm=2" { target ia32 } } */ - -int test(unsigned long x, unsigned long n) -{ - return !(x & ( (long)0x01 << n )); -} - -/* { dg-final { scan-assembler "btl\[ \t\]" { target { ! lp64 } } } } */ -/* { dg-final { scan-assembler "btq\[ \t\]" { target lp64 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/bt-mask-3.c b/gcc/testsuite/gcc.target/i386/bt-mask-3.c deleted file mode 100644 index bf3a404..0000000 --- a/gcc/testsuite/gcc.target/i386/bt-mask-3.c +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O2 -mtune=core2" } */ -/* { dg-additional-options "-mregparm=2" { target ia32 } } */ - -int test (unsigned x, unsigned n) -{ - n &= 0x1f; - - return !(x & (0x01 << n)); -} - -/* { dg-final { scan-assembler-not "and\[lq\]\[ \t\]" } } */ diff --git a/gcc/testsuite/gcc.target/i386/bt-mask-4.c b/gcc/testsuite/gcc.target/i386/bt-mask-4.c deleted file mode 100644 index 8198646..0000000 --- a/gcc/testsuite/gcc.target/i386/bt-mask-4.c +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O2 -mtune=core2" } */ -/* { dg-additional-options "-mregparm=2" { target ia32 } } */ - -int test (unsigned long x, unsigned long n) -{ - n &= 0x3f; - - return !(x & ((long)0x01 << n)); -} - -/* { dg-final { scan-assembler-not "and\[lq\]\[ \t\]" } } */ |