The attach patch fixes a problem causing block/blk-merge.c in the linux kernel 
to be miscompiled.  As a result,
block segments were not properly split and boot failed since linux 4.3.

The problem was found by a regression search.  The patch reverts a change in 
the handling of the Q and T
constraints.

Tested on hppa-unknown-linux-gnu, hppa2.0w-hp-hpux11.11and hppa64-hp-hpux11.11. 
 Committed to
trunk, 4.9 and 5 branches.

Dave
--
John David Anglin       dave.ang...@bell.net


2016-03-17  John David Anglin  <dang...@gcc.gnu.org>

        PR target/70188
        * config/pa/constraints.md: Revert 2015-02-13 change.  Use
        define_constraint for "Q" and "T" constraints.

Index: config/pa/constraints.md
===================================================================
--- config/pa/constraints.md    (revision 234201)
+++ config/pa/constraints.md    (working copy)
@@ -106,7 +106,7 @@
   (and (match_code "mem")
        (match_test "IS_LO_SUM_DLT_ADDR_P (XEXP (op, 0))")))
 
-(define_memory_constraint "Q"
+(define_constraint "Q"
   "A memory operand that can be used as the destination operand of an
    integer store, or the source operand of an integer load.  That is
    any memory operand that isn't a symbolic, indexed or lo_sum memory
@@ -122,7 +122,7 @@
   (and (match_code "mem")
        (match_test "IS_INDEX_ADDR_P (XEXP (op, 0))")))
 
-(define_memory_constraint "T"
+(define_constraint "T"
   "A memory operand for floating-point loads and stores."
   (match_test "floating_point_store_memory_operand (op, mode)"))
 

Reply via email to