summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-4.1.2/arm-crunch-double-nop-before.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc/gcc-4.1.2/arm-crunch-double-nop-before.patch')
-rw-r--r--packages/gcc/gcc-4.1.2/arm-crunch-double-nop-before.patch459
1 files changed, 459 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.1.2/arm-crunch-double-nop-before.patch b/packages/gcc/gcc-4.1.2/arm-crunch-double-nop-before.patch
new file mode 100644
index 0000000000..bd09a047f5
--- /dev/null
+++ b/packages/gcc/gcc-4.1.2/arm-crunch-double-nop-before.patch
@@ -0,0 +1,459 @@
+--- arm.md-original 2007-06-28 10:25:37.000000000 +1000
++++ arm.md 2007-06-28 10:27:22.000000000 +1000
+@@ -6852,7 +6852,7 @@
+ (compare:CCFP (match_operand:SF 0 "cirrus_fp_register" "v")
+ (match_operand:SF 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfcmps%?\\tr15, %V0, %V1"
++ "nop\;nop\;cfcmps%?\\tr15, %V0, %V1"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "compare")]
+ )
+@@ -6863,7 +6863,7 @@
+ (compare:CCFP (match_operand:DF 0 "cirrus_fp_register" "v")
+ (match_operand:DF 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfcmpd%?\\tr15, %V0, %V1"
++ "nop\;nop\;cfcmpd%?\\tr15, %V0, %V1"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "compare")]
+ )
+@@ -6886,7 +6886,7 @@
+ (compare:CC (match_operand:DI 0 "cirrus_fp_register" "v")
+ (match_operand:DI 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK & 0"
+- "cfcmp64%?\\tr15, %V0, %V1"
++ "nop\;nop\;cfcmp64%?\\tr15, %V0, %V1"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "compare")]
+ )
+--- cirrus.md-original 2007-06-28 10:15:59.000000000 +1000
++++ cirrus.md 2007-06-28 10:25:03.000000000 +1000
+@@ -35,7 +35,7 @@
+ (plus:DI (match_operand:DI 1 "cirrus_fp_register" "v")
+ (match_operand:DI 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfadd64%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfadd64%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -45,7 +45,7 @@
+ (plus:SI (match_operand:SI 1 "cirrus_fp_register" "v")
+ (match_operand:SI 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfadd32%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfadd32%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -55,7 +55,7 @@
+ (plus:SF (match_operand:SF 1 "cirrus_fp_register" "v")
+ (match_operand:SF 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfadds%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfadds%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -65,7 +65,7 @@
+ (plus:DF (match_operand:DF 1 "cirrus_fp_register" "v")
+ (match_operand:DF 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfaddd%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfaddd%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -75,7 +75,7 @@
+ (minus:DI (match_operand:DI 1 "cirrus_fp_register" "v")
+ (match_operand:DI 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfsub64%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfsub64%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -85,7 +85,7 @@
+ (minus:SI (match_operand:SI 1 "cirrus_fp_register" "v")
+ (match_operand:SI 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfsub32%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfsub32%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -95,7 +95,7 @@
+ (minus:SF (match_operand:SF 1 "cirrus_fp_register" "v")
+ (match_operand:SF 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfsubs%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfsubs%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -105,7 +105,7 @@
+ (minus:DF (match_operand:DF 1 "cirrus_fp_register" "v")
+ (match_operand:DF 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfsubd%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfsubd%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -115,7 +115,7 @@
+ (mult:SI (match_operand:SI 2 "cirrus_fp_register" "v")
+ (match_operand:SI 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfmul32%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfmul32%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -125,7 +125,7 @@
+ (mult:DI (match_operand:DI 2 "cirrus_fp_register" "v")
+ (match_operand:DI 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfmul64%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfmul64%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_dmult")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -137,7 +137,7 @@
+ (match_operand:SI 2 "cirrus_fp_register" "v"))
+ (match_operand:SI 3 "cirrus_fp_register" "0")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfmac32%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfmac32%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -150,7 +150,7 @@
+ (mult:SI (match_operand:SI 2 "cirrus_fp_register" "v")
+ (match_operand:SI 3 "cirrus_fp_register" "v"))))]
+ "0 && TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfmsc32%?\\t%V0, %V2, %V3"
++ "nop\;nop\;cfmsc32%?\\t%V0, %V2, %V3"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -160,7 +160,7 @@
+ (mult:SF (match_operand:SF 1 "cirrus_fp_register" "v")
+ (match_operand:SF 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfmuls%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfmuls%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_farith")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -170,7 +170,7 @@
+ (mult:DF (match_operand:DF 1 "cirrus_fp_register" "v")
+ (match_operand:DF 2 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfmuld%?\\t%V0, %V1, %V2"
++ "nop\;nop\;cfmuld%?\\t%V0, %V1, %V2"
+ [(set_attr "type" "mav_dmult")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -180,7 +180,7 @@
+ (ashift:SI (match_operand:SI 1 "cirrus_fp_register" "v")
+ (match_operand:SI 2 "cirrus_shift_const" "")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfsh32%?\\t%V0, %V1, #%s2"
++ "nop\;nop\;cfsh32%?\\t%V0, %V1, #%s2"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -189,7 +189,7 @@
+ (ashiftrt:SI (match_operand:SI 1 "cirrus_fp_register" "v")
+ (match_operand:SI 2 "cirrus_shift_const" "")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfsh32%?\\t%V0, %V1, #-%s2"
++ "nop\;nop\;cfsh32%?\\t%V0, %V1, #-%s2"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -198,7 +198,7 @@
+ (ashift:SI (match_operand:SI 1 "cirrus_fp_register" "v")
+ (match_operand:SI 2 "register_operand" "r")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfrshl32%?\\t%V1, %V0, %s2"
++ "nop\;nop\;cfrshl32%?\\t%V1, %V0, %s2"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -207,7 +207,7 @@
+ (ashift:DI (match_operand:DI 1 "cirrus_fp_register" "v")
+ (match_operand:SI 2 "register_operand" "r")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfrshl64%?\\t%V1, %V0, %s2"
++ "nop\;nop\;cfrshl64%?\\t%V1, %V0, %s2"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -216,7 +216,7 @@
+ (ashift:DI (match_operand:DI 1 "cirrus_fp_register" "v")
+ (match_operand:SI 2 "cirrus_shift_const" "")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfsh64%?\\t%V0, %V1, #%s2"
++ "nop\;nop\;cfsh64%?\\t%V0, %V1, #%s2"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -225,7 +225,7 @@
+ (ashiftrt:DI (match_operand:DI 1 "cirrus_fp_register" "v")
+ (match_operand:SI 2 "cirrus_shift_const" "")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfsh64%?\\t%V0, %V1, #-%s2"
++ "nop\;nop\;cfsh64%?\\t%V0, %V1, #-%s2"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -233,7 +233,7 @@
+ [(set (match_operand:DI 0 "cirrus_fp_register" "=v")
+ (abs:DI (match_operand:DI 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfabs64%?\\t%V0, %V1"
++ "nop\;nop\;cfabs64%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -244,7 +244,7 @@
+ (neg:DI (match_operand:DI 1 "cirrus_fp_register" "v")))
+ (clobber (reg:CC CC_REGNUM))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfneg64%?\\t%V0, %V1"
++ "nop\;nop\;cfneg64%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -252,7 +252,7 @@
+ [(set (match_operand:SI 0 "cirrus_fp_register" "=v")
+ (neg:SI (match_operand:SI 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfneg32%?\\t%V0, %V1"
++ "nop\;nop\;cfneg32%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -261,7 +261,7 @@
+ [(set (match_operand:SF 0 "cirrus_fp_register" "=v")
+ (neg:SF (match_operand:SF 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfnegs%?\\t%V0, %V1"
++ "nop\;nop\;cfnegs%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -270,7 +270,7 @@
+ [(set (match_operand:DF 0 "cirrus_fp_register" "=v")
+ (neg:DF (match_operand:DF 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfnegd%?\\t%V0, %V1"
++ "nop\;nop\;cfnegd%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -280,7 +280,7 @@
+ (abs:SI (match_operand:SI 1 "cirrus_fp_register" "v")))
+ (clobber (reg:CC CC_REGNUM))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfabs32%?\\t%V0, %V1"
++ "nop\;nop\;cfabs32%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -288,7 +288,7 @@
+ [(set (match_operand:SF 0 "cirrus_fp_register" "=v")
+ (abs:SF (match_operand:SF 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfabss%?\\t%V0, %V1"
++ "nop\;nop\;cfabss%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -296,7 +296,7 @@
+ [(set (match_operand:DF 0 "cirrus_fp_register" "=v")
+ (abs:DF (match_operand:DF 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfabsd%?\\t%V0, %V1"
++ "nop\;nop\;cfabsd%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -307,7 +307,7 @@
+ (float:SF (match_operand:SI 1 "s_register_operand" "r")))
+ (clobber (match_scratch:DF 2 "=v"))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfmv64lr%?\\t%Z2, %1\;cfcvt32s%?\\t%V0, %Y2"
++ "nop\;nop\;cfmv64lr%?\\t%Z2, %1\;cfcvt32s%?\\t%V0, %Y2"
+ [(set_attr "length" "8")
+ (set_attr "cirrus" "move")]
+ )
+@@ -318,7 +318,7 @@
+ (float:DF (match_operand:SI 1 "s_register_operand" "r")))
+ (clobber (match_scratch:DF 2 "=v"))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfmv64lr%?\\t%Z2, %1\;cfcvt32d%?\\t%V0, %Y2"
++ "nop\;nop\;cfmv64lr%?\\t%Z2, %1\;cfcvt32d%?\\t%V0, %Y2"
+ [(set_attr "length" "8")
+ (set_attr "cirrus" "move")]
+ )
+@@ -327,14 +327,14 @@
+ [(set (match_operand:SF 0 "cirrus_fp_register" "=v")
+ (float:SF (match_operand:DI 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfcvt64s%?\\t%V0, %V1"
++ "nop\;nop\;cfcvt64s%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")])
+
+ (define_insn "floatdidf2"
+ [(set (match_operand:DF 0 "cirrus_fp_register" "=v")
+ (float:DF (match_operand:DI 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfcvt64d%?\\t%V0, %V1"
++ "nop\;nop\;cfcvt64d%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")])
+
+ ; appears to be buggy
+@@ -343,7 +343,7 @@
+ (fix:SI (fix:SF (match_operand:SF 1 "cirrus_fp_register" "v"))))
+ (clobber (match_scratch:DF 2 "=v"))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cftruncs32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2"
++ "nop\;nop\;cftruncs32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2"
+ [(set_attr "length" "8")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -354,7 +354,7 @@
+ (fix:SI (fix:DF (match_operand:DF 1 "cirrus_fp_register" "v"))))
+ (clobber (match_scratch:DF 2 "=v"))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cftruncd32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2"
++ "nop\;nop\;cftruncd32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2"
+ [(set_attr "length" "8")
+ (set_attr "cirrus" "normal")]
+ )
+@@ -365,7 +365,7 @@
+ (float_truncate:SF
+ (match_operand:DF 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+- "cfcvtds%?\\t%V0, %V1"
++ "nop\;nop\;cfcvtds%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -373,7 +373,7 @@
+ [(set (match_operand:DF 0 "cirrus_fp_register" "=v")
+ (float_extend:DF (match_operand:SF 1 "cirrus_fp_register" "v")))]
+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
+- "cfcvtsd%?\\t%V0, %V1"
++ "nop\;nop\;cfcvtsd%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+
+@@ -391,19 +391,19 @@
+ case 2:
+ return output_move_double (operands);
+
+- case 3: return \"cfmv64lr%?\\t%V0, %Q1\;cfmv64hr%?\\t%V0, %R1\";
+- case 4: return \"cfmvr64l%?\\t%Q0, %V1\;cfmvr64h%?\\t%R0, %V1\";
++ case 3: return \"nop\;nop\;cfmv64lr%?\\t%V0, %Q1\;cfmv64hr%?\\t%V0, %R1\";
++ case 4: return \"nop\;nop\;cfmvr64l%?\\t%Q0, %V1\;cfmvr64h%?\\t%R0, %V1\";
+
+- case 5: return \"cfldr64%?\\t%V0, %1\";
+- case 6: return \"cfstr64%?\\t%V1, %0\";
++ case 5: return \"nop\;nop\;cfldr64%?\\t%V0, %1\";
++ case 6: return \"nop\;nop\;cfstr64%?\\t%V1, %0\";
+
+ /* Shifting by 0 will just copy %1 into %0. */
+- case 7: return \"cfsh64%?\\t%V0, %V1, #0\";
++ case 7: return \"nop\;nop\;cfsh64%?\\t%V0, %V1, #0\";
+
+ default: gcc_unreachable ();
+ }
+ }"
+- [(set_attr "length" " 8, 8, 8, 8, 8, 4, 4, 4")
++ [(set_attr "length" " 16, 16, 16, 16, 16, 12, 12, 12")
+ (set_attr "type" " *,load2,store2, *, *, load2,store2, *")
+ (set_attr "pool_range" " *,1020, *, *, *, 1020, *, *")
+ (set_attr "neg_pool_range" " *,1012, *, *, *, 1008, *, *")
+@@ -420,15 +420,15 @@
+ && (register_operand (operands[0], SImode)
+ || register_operand (operands[1], SImode))"
+ "@
+- mov%?\\t%0, %1
+- mvn%?\\t%0, #%B1
+- ldr%?\\t%0, %1
+- str%?\\t%1, %0
+- cfmv64lr%?\\t%Z0, %1
+- cfmvr64l%?\\t%0, %Z1
+- cfldr32%?\\t%V0, %1
+- cfstr32%?\\t%V1, %0
+- cfsh32%?\\t%V0, %V1, #0"
++ nop\;nop\;mov%?\\t%0, %1
++ nop\;nop\;mvn%?\\t%0, #%B1
++ nop\;nop\;ldr%?\\t%0, %1
++ nop\;nop\;str%?\\t%1, %0
++ nop\;nop\;cfmv64lr%?\\t%Z0, %1
++ nop\;nop\;cfmvr64l%?\\t%0, %Z1
++ nop\;nop\;cfldr32%?\\t%V0, %1
++ nop\;nop\;cfstr32%?\\t%V1, %0
++ nop\;nop\;cfsh32%?\\t%V0, %V1, #0"
+ [(set_attr "type" "*, *, load1,store1, *, *, load1,store1, *")
+ (set_attr "pool_range" "*, *, 4096, *, *, *, 1024, *, *")
+ (set_attr "neg_pool_range" "*, *, 4084, *, *, *, 1012, *, *")
+@@ -442,15 +442,15 @@
+ && (GET_CODE (operands[0]) != MEM
+ || register_operand (operands[1], SFmode))"
+ "@
+- cfcpys%?\\t%V0, %V1
+- cfldrs%?\\t%V0, %1
+- cfmvsr%?\\t%V0, %1
+- cfmvrs%?\\t%0, %V1
+- cfstrs%?\\t%V1, %0
+- mov%?\\t%0, %1
+- ldr%?\\t%0, %1\\t%@ float
+- str%?\\t%1, %0\\t%@ float"
+- [(set_attr "length" " *, *, *, *, *, 4, 4, 4")
++ nop\;nop\;cfcpys%?\\t%V0, %V1
++ nop\;nop\;cfldrs%?\\t%V0, %1
++ nop\;nop\;cfmvsr%?\\t%V0, %1
++ nop\;nop\;cfmvrs%?\\t%0, %V1
++ nop\;nop\;cfstrs%?\\t%V1, %0
++ nop\;nop\;mov%?\\t%0, %1
++ nop\;nop\;ldr%?\\t%0, %1\\t%@ float
++ nop\;nop\;str%?\\t%1, %0\\t%@ float"
++ [(set_attr "length" " *, *, *, *, *, 12, 12, 12")
+ (set_attr "type" " *, load1, *, *,store1, *,load1,store1")
+ (set_attr "pool_range" " *, 1020, *, *, *, *,4096, *")
+ (set_attr "neg_pool_range" " *, 1008, *, *, *, *,4084, *")
+@@ -468,20 +468,20 @@
+ {
+ switch (which_alternative)
+ {
+- case 0: return \"ldm%?ia\\t%m1, %M0\\t%@ double\";
+- case 1: return \"stm%?ia\\t%m0, %M1\\t%@ double\";
++ case 0: return \"nop\;nop\;ldm%?ia\\t%m1, %M0\\t%@ double\";
++ case 1: return \"nop\;nop\;stm%?ia\\t%m0, %M1\\t%@ double\";
+ case 2: return \"#\";
+ case 3: case 4: return output_move_double (operands);
+- case 5: return \"cfcpyd%?\\t%V0, %V1\";
+- case 6: return \"cfldrd%?\\t%V0, %1\";
+- case 7: return \"cfmvdlr\\t%V0, %Q1\;cfmvdhr%?\\t%V0, %R1\";
+- case 8: return \"cfmvrdl%?\\t%Q0, %V1\;cfmvrdh%?\\t%R0, %V1\";
+- case 9: return \"cfstrd%?\\t%V1, %0\";
++ case 5: return \"nop\;nop\;cfcpyd%?\\t%V0, %V1\";
++ case 6: return \"nop\;nop\;cfldrd%?\\t%V0, %1\";
++ case 7: return \"nop\;nop\;cfmvdlr\\t%V0, %Q1\;cfmvdhr%?\\t%V0, %R1\";
++ case 8: return \"nop\;nop\;cfmvrdl%?\\t%Q0, %V1\;cfmvrdh%?\\t%R0, %V1\";
++ case 9: return \"nop\;nop\;cfstrd%?\\t%V1, %0\";
+ default: gcc_unreachable ();
+ }
+ }"
+ [(set_attr "type" "load1,store2, *,store2,load1, *, load1, *, *,store2")
+- (set_attr "length" " 4, 4, 8, 8, 8, 4, 4, 8, 8, 4")
++ (set_attr "length" " 12, 12, 16, 16, 16, 12, 12, 16, 16, 12")
+ (set_attr "pool_range" " *, *, *, *, 252, *, 1020, *, *, *")
+ (set_attr "neg_pool_range" " *, *, *, *, 244, *, 1008, *, *, *")
+ (set_attr "cirrus" " not, not,not, not, not,normal,double,move,normal,double")]