diff options
author | John David Anglin <dave@hiauly1.hia.nrc.ca> | 2000-11-30 06:37:34 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2000-11-29 23:37:34 -0700 |
commit | d16ca6a6703335e99c8c295af01bdf43cafefdf3 (patch) | |
tree | 78d700b7f1b93470105062622859c4332b581418 /gcc/config | |
parent | 3502dc9cd31f1497d7190c96e67311c6fef33476 (diff) | |
download | gcc-d16ca6a6703335e99c8c295af01bdf43cafefdf3.zip gcc-d16ca6a6703335e99c8c295af01bdf43cafefdf3.tar.gz gcc-d16ca6a6703335e99c8c295af01bdf43cafefdf3.tar.bz2 |
pa.md: Remove hack from all index insns to reverse the operand order of frame and...
* pa.md: Remove hack from all index insns to reverse the operand
order of frame and stack pointer references incorrectly created
in the reload pass.
From-SVN: r37864
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/pa/pa.md | 240 |
1 files changed, 20 insertions, 220 deletions
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 9533bfb..1d35f38 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -2024,17 +2024,7 @@ (mem:SI (plus:SI (match_operand:SI 1 "basereg_operand" "r") (match_operand:SI 2 "register_operand" "r"))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{ldwx|ldw} %1(%2),%0\"; - else - return \"{ldwx|ldw} %2(%1),%0\"; -}" + "{ldwx|ldw} %2(%1),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2043,17 +2033,7 @@ (mem:SI (plus:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "basereg_operand" "r"))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{ldwx|ldw} %2(%1),%0\"; - else - return \"{ldwx|ldw} %1(%2),%0\"; -}" + "{ldwx|ldw} %1(%2),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2474,17 +2454,7 @@ (mem:HI (plus:SI (match_operand:SI 1 "basereg_operand" "r") (match_operand:SI 2 "register_operand" "r"))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{ldhx|ldh} %1(%2),%0\"; - else - return \"{ldhx|ldh} %2(%1),%0\"; -}" + "{ldhx|ldh} %2(%1),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2493,17 +2463,7 @@ (mem:HI (plus:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "basereg_operand" "r"))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{ldhx|ldh} %2(%1),%0\"; - else - return \"{ldhx|ldh} %1(%2),%0\"; -}" + "{ldhx|ldh} %1(%2),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2515,17 +2475,7 @@ (match_operand:SI 1 "basereg_operand" "r") (match_operand:SI 2 "register_operand" "r")))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{ldhx|ldh} %1(%2),%0\"; - else - return \"{ldhx|ldh} %2(%1),%0\"; -}" + "{ldhx|ldh} %2(%1),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2536,17 +2486,7 @@ (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "basereg_operand" "r")))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{ldhx|ldh} %2(%1),%0\"; - else - return \"{ldhx|ldh} %1(%2),%0\"; -}" + "{ldhx|ldh} %1(%2),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2636,17 +2576,7 @@ (mem:QI (plus:SI (match_operand:SI 1 "basereg_operand" "r") (match_operand:SI 2 "register_operand" "r"))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{ldbx|ldb} %1(%2),%0\"; - else - return \"{ldbx|ldb} %2(%1),%0\"; -}" + "{ldbx|ldb} %2(%1),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2655,17 +2585,7 @@ (mem:QI (plus:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "basereg_operand" "r"))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{ldbx|ldb} %2(%1),%0\"; - else - return \"{ldbx|ldb} %1(%2),%0\"; -}" + "{ldbx|ldb} %1(%2),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2677,17 +2597,7 @@ (match_operand:SI 1 "basereg_operand" "r") (match_operand:SI 2 "register_operand" "r")))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{ldbx|ldb} %1(%2),%0\"; - else - return \"{ldbx|ldb} %2(%1),%0\"; -}" + "{ldbx|ldb} %2(%1),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2698,17 +2608,7 @@ (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "basereg_operand" "r")))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{ldbx|ldb} %2(%1),%0\"; - else - return \"{ldbx|ldb} %1(%2),%0\"; -}" + "{ldbx|ldb} %1(%2),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2719,17 +2619,7 @@ (match_operand:SI 1 "basereg_operand" "r") (match_operand:SI 2 "register_operand" "r")))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{ldbx|ldb} %1(%2),%0\"; - else - return \"{ldbx|ldb} %2(%1),%0\"; -}" + "{ldbx|ldb} %2(%1),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -2740,17 +2630,7 @@ (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "basereg_operand" "r")))))] "! TARGET_DISABLE_INDEXING" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{ldbx|ldb} %2(%1),%0\"; - else - return \"{ldbx|ldb} %1(%2),%0\"; -}" + "{ldbx|ldb} %1(%2),%0" [(set_attr "type" "load") (set_attr "length" "4")]) @@ -3023,17 +2903,7 @@ (mem:DF (plus:SI (match_operand:SI 1 "basereg_operand" "r") (match_operand:SI 2 "register_operand" "r"))))] "! TARGET_DISABLE_INDEXING && ! TARGET_SOFT_FLOAT" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{flddx|fldd} %1(%2),%0\"; - else - return \"{flddx|fldd} %2(%1),%0\"; -}" + "{flddx|fldd} %2(%1),%0" [(set_attr "type" "fpload") (set_attr "length" "4")]) @@ -3042,17 +2912,7 @@ (mem:DF (plus:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "basereg_operand" "r"))))] "! TARGET_DISABLE_INDEXING && ! TARGET_SOFT_FLOAT" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{flddx|fldd} %2(%1),%0\"; - else - return \"{flddx|fldd} %1(%2),%0\"; -}" + "{flddx|fldd} %1(%2),%0" [(set_attr "type" "fpload") (set_attr "length" "4")]) @@ -3061,17 +2921,7 @@ (match_operand:SI 2 "register_operand" "r"))) (match_operand:DF 0 "register_operand" "fx"))] "! TARGET_DISABLE_INDEXING && ! TARGET_SOFT_FLOAT" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{fstdx|fstd} %0,%1(%2)\"; - else - return \"{fstdx|fstd} %0,%2(%1)\"; -}" + "{fstdx|fstd} %0,%2(%1)" [(set_attr "type" "fpstore") (set_attr "length" "4")]) @@ -3080,17 +2930,7 @@ (match_operand:SI 2 "basereg_operand" "r"))) (match_operand:DF 0 "register_operand" "fx"))] "! TARGET_DISABLE_INDEXING && ! TARGET_SOFT_FLOAT" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{fstdx|fstd} %0,%2(%1)\"; - else - return \"{fstdx|fstd} %0,%1(%2)\"; -}" + "{fstdx|fstd} %0,%1(%2)" [(set_attr "type" "fpstore") (set_attr "length" "4")]) @@ -3354,17 +3194,7 @@ (mem:SF (plus:SI (match_operand:SI 1 "basereg_operand" "r") (match_operand:SI 2 "register_operand" "r"))))] "! TARGET_DISABLE_INDEXING && ! TARGET_SOFT_FLOAT" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{fldwx|fldw} %1(%2),%0\"; - else - return \"{fldwx|fldw} %2(%1),%0\"; -}" + "{fldwx|fldw} %2(%1),%0" [(set_attr "type" "fpload") (set_attr "length" "4")]) @@ -3373,17 +3203,7 @@ (mem:SF (plus:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "basereg_operand" "r"))))] "! TARGET_DISABLE_INDEXING && ! TARGET_SOFT_FLOAT" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{fldwx|fldw} %2(%1),%0\"; - else - return \"{fldwx|fldw} %1(%2),%0\"; -}" + "{fldwx|fldw} %1(%2),%0" [(set_attr "type" "fpload") (set_attr "length" "4")]) @@ -3392,17 +3212,7 @@ (match_operand:SI 2 "register_operand" "r"))) (match_operand:SF 0 "register_operand" "fx"))] "! TARGET_DISABLE_INDEXING && ! TARGET_SOFT_FLOAT" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[2] == hard_frame_pointer_rtx - || operands[2] == stack_pointer_rtx) - return \"{fstwx|fstw} %0,%1(%2)\"; - else - return \"{fstwx|fstw} %0,%2(%1)\"; -}" + "{fstwx|fstw} %0,%2(%1)" [(set_attr "type" "fpstore") (set_attr "length" "4")]) @@ -3411,17 +3221,7 @@ (match_operand:SI 2 "basereg_operand" "r"))) (match_operand:SF 0 "register_operand" "fx"))] "! TARGET_DISABLE_INDEXING && ! TARGET_SOFT_FLOAT" - "* -{ - /* Reload can create backwards (relative to cse) unscaled index - address modes when eliminating registers and possibly for - pseudos that don't get hard registers. Deal with it. */ - if (operands[1] == hard_frame_pointer_rtx - || operands[1] == stack_pointer_rtx) - return \"{fstwx|fstw} %0,%2(%1)\"; - else - return \"{fstwx|fstw} %0,%1(%2)\"; -}" + "{fstwx|fstw} %0,%1(%2)" [(set_attr "type" "fpstore") (set_attr "length" "4")]) |