[PATCH] ARM/NEON: vld1q_dup_s64 builtin
Christophe Lyon
christophe.lyon@st.com
Wed May 9 10:18:00 GMT 2012
Hello,
On ARM+Neon, the expansion of vld1q_dup_s64() and vld1q_dup_u64() builtins currently fails to load the second vector element.
Here is a small patch to address this problem:
2012-05-07 Christophe Lyon <christophe.lyon@st.com>
* gcc/config/arm/neon.md (neon_vld1_dup): Fix vld1q_dup_s64.
Index: gcc/config/arm/neon.md
===================================================================
--- gcc/config/arm/neon.md (revision 2659)
+++ gcc/config/arm/neon.md (revision 2660)
@@ -4203,7 +4203,7 @@
if (GET_MODE_NUNITS (<MODE>mode) > 2)
return "vld1.<V_sz_elem>\t{%e0[], %f0[]}, %A1";
else
- return "vld1.<V_sz_elem>\t%h0, %A1";
+ return "vld1.<V_sz_elem>\t%e0, %A1 \;vmov\t%f0, %e0";
}
[(set (attr "neon_type")
(if_then_else (gt (const_string "<V_mode_nunits>") (const_string "1"))
OK?
Thanks,
Christophe.
More information about the Gcc-patches
mailing list