diff options
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/xtensa/xtensa.md | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md index a77d328..e72fd9a 100644 --- a/gcc/config/xtensa/xtensa.md +++ b/gcc/config/xtensa/xtensa.md @@ -2562,12 +2562,15 @@ "" { if (frame_pointer_needed) - return "mov\ta7, sp"; + return (TARGET_DENSITY ? "mov.n\ta7, sp" : "mov\ta7, sp"); return ""; } [(set_attr "type" "move") (set_attr "mode" "SI") - (set_attr "length" "3")]) + (set (attr "length") + (if_then_else (match_test "TARGET_DENSITY") + (const_int 2) + (const_int 3)))]) ;; Post-reload splitter to remove fp assignment when it's not needed. (define_split |