PR target/82580
commit1a06f00aab27483ca1fb5da62fd6cfaf7018cad2
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Oct 2017 20:19:05 +0000 (18 20:19 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Oct 2017 20:19:05 +0000 (18 20:19 +0000)
tree71539ec766a5bfb60fbce3e1155fdd91d1dc7dfc
parent0d87e1c4f0a51429bf9505cd98e1c1597b2e39d6
PR target/82580
* config/i386/i386-modes.def (CCGZ): New CC mode.
* config/i386/i386.md (sub<mode>3_carry_ccgz): New insn pattern.
* config/i386/predicates.md (ix86_comparison_operator):
Handle CCGZmode.
* config/i386/i386.c (ix86_expand_branch) <case E_TImode>:
Emulate LE, LEU, GT, GTU, LT, LTU, GE and GEU double-word comparisons
with double-word subtraction.
(put_condition_code): Handle CCGZmode.

testsuite/ChangeLog:

PR target/82580
* gcc.target/i386/pr82580.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253867 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386-modes.def
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr82580.c [new file with mode: 0644]