+2014-09-11 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/htm.md (tabort, tabortdc, tabortdci, tabortwc,
+ tabortwci, tbegin, tcheck, tend, trechkpt, treclaim, tsr): Use xor
+ instead of minus.
+ * config/rs6000/vector.md (cr6_test_for_zero_reverse,
+ cr6_test_for_lt_reverse): Ditto.
+
2014-09-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61489
(eq:SI (match_dup 2)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 3)))]
+ (xor:SI (match_dup 3)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[2] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 4)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 5)))]
+ (xor:SI (match_dup 5)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[4] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 4)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 5)))]
+ (xor:SI (match_dup 5)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[4] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 4)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 5)))]
+ (xor:SI (match_dup 5)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[4] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 4)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 5)))]
+ (xor:SI (match_dup 5)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[4] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 2)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 3)))]
+ (xor:SI (match_dup 3)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[2] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 2)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 3)))]
+ (xor:SI (match_dup 3)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[2] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 2)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 3)))]
+ (xor:SI (match_dup 3)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[2] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 1)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 2)))]
+ (xor:SI (match_dup 2)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[1] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 2)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 3)))]
+ (xor:SI (match_dup 3)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[2] = gen_rtx_REG (CCmode, CR0_REGNO);
(eq:SI (match_dup 2)
(const_int 0)))
(set (match_operand:SI 0 "int_reg_operand" "")
- (minus:SI (const_int 1) (match_dup 3)))]
+ (xor:SI (match_dup 3)
+ (const_int 1)))]
"TARGET_HTM"
{
operands[2] = gen_rtx_REG (CCmode, CR0_REGNO);