mirror of git://gcc.gnu.org/git/gcc.git
neon.md (movmisalign<mode>): Disable when we don't allow unaligned accesses.
2013-08-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/neon.md (movmisalign<mode>): Disable when we don't allow unaligned accesses. (*movmisalign<mode>_neon_store): Likewise. (*movmisalign<mode>_neon_load): Likewise. (*movmisalign<mode>_neon_store): Likewise. (*movmisalign<mode>_neon_load): Likewise. From-SVN: r201604
This commit is contained in:
parent
07efff255d
commit
869b91255a
|
|
@ -1,3 +1,12 @@
|
||||||
|
2013-08-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||||
|
|
||||||
|
* config/arm/neon.md (movmisalign<mode>): Disable when we
|
||||||
|
don't allow unaligned accesses.
|
||||||
|
(*movmisalign<mode>_neon_store): Likewise.
|
||||||
|
(*movmisalign<mode>_neon_load): Likewise.
|
||||||
|
(*movmisalign<mode>_neon_store): Likewise.
|
||||||
|
(*movmisalign<mode>_neon_load): Likewise.
|
||||||
|
|
||||||
2013-08-08 Jan Hubicka <jh@suse.cz>
|
2013-08-08 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
* cgraphbuild.c (build_cgraph_edges): Do not walk into debugs.
|
* cgraphbuild.c (build_cgraph_edges): Do not walk into debugs.
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@
|
||||||
[(set (match_operand:VDQX 0 "neon_perm_struct_or_reg_operand")
|
[(set (match_operand:VDQX 0 "neon_perm_struct_or_reg_operand")
|
||||||
(unspec:VDQX [(match_operand:VDQX 1 "neon_perm_struct_or_reg_operand")]
|
(unspec:VDQX [(match_operand:VDQX 1 "neon_perm_struct_or_reg_operand")]
|
||||||
UNSPEC_MISALIGNED_ACCESS))]
|
UNSPEC_MISALIGNED_ACCESS))]
|
||||||
"TARGET_NEON && !BYTES_BIG_ENDIAN"
|
"TARGET_NEON && !BYTES_BIG_ENDIAN && unaligned_access"
|
||||||
{
|
{
|
||||||
/* This pattern is not permitted to fail during expansion: if both arguments
|
/* This pattern is not permitted to fail during expansion: if both arguments
|
||||||
are non-registers (e.g. memory := constant, which can be created by the
|
are non-registers (e.g. memory := constant, which can be created by the
|
||||||
|
|
@ -256,7 +256,7 @@
|
||||||
[(set (match_operand:VDX 0 "neon_permissive_struct_operand" "=Um")
|
[(set (match_operand:VDX 0 "neon_permissive_struct_operand" "=Um")
|
||||||
(unspec:VDX [(match_operand:VDX 1 "s_register_operand" " w")]
|
(unspec:VDX [(match_operand:VDX 1 "s_register_operand" " w")]
|
||||||
UNSPEC_MISALIGNED_ACCESS))]
|
UNSPEC_MISALIGNED_ACCESS))]
|
||||||
"TARGET_NEON && !BYTES_BIG_ENDIAN"
|
"TARGET_NEON && !BYTES_BIG_ENDIAN && unaligned_access"
|
||||||
"vst1.<V_sz_elem>\t{%P1}, %A0"
|
"vst1.<V_sz_elem>\t{%P1}, %A0"
|
||||||
[(set_attr "neon_type" "neon_vst1_1_2_regs_vst2_2_regs")])
|
[(set_attr "neon_type" "neon_vst1_1_2_regs_vst2_2_regs")])
|
||||||
|
|
||||||
|
|
@ -265,7 +265,7 @@
|
||||||
(unspec:VDX [(match_operand:VDX 1 "neon_permissive_struct_operand"
|
(unspec:VDX [(match_operand:VDX 1 "neon_permissive_struct_operand"
|
||||||
" Um")]
|
" Um")]
|
||||||
UNSPEC_MISALIGNED_ACCESS))]
|
UNSPEC_MISALIGNED_ACCESS))]
|
||||||
"TARGET_NEON && !BYTES_BIG_ENDIAN"
|
"TARGET_NEON && !BYTES_BIG_ENDIAN && unaligned_access"
|
||||||
"vld1.<V_sz_elem>\t{%P0}, %A1"
|
"vld1.<V_sz_elem>\t{%P0}, %A1"
|
||||||
[(set_attr "neon_type" "neon_vld1_1_2_regs")])
|
[(set_attr "neon_type" "neon_vld1_1_2_regs")])
|
||||||
|
|
||||||
|
|
@ -273,7 +273,7 @@
|
||||||
[(set (match_operand:VQX 0 "neon_permissive_struct_operand" "=Um")
|
[(set (match_operand:VQX 0 "neon_permissive_struct_operand" "=Um")
|
||||||
(unspec:VQX [(match_operand:VQX 1 "s_register_operand" " w")]
|
(unspec:VQX [(match_operand:VQX 1 "s_register_operand" " w")]
|
||||||
UNSPEC_MISALIGNED_ACCESS))]
|
UNSPEC_MISALIGNED_ACCESS))]
|
||||||
"TARGET_NEON && !BYTES_BIG_ENDIAN"
|
"TARGET_NEON && !BYTES_BIG_ENDIAN && unaligned_access"
|
||||||
"vst1.<V_sz_elem>\t{%q1}, %A0"
|
"vst1.<V_sz_elem>\t{%q1}, %A0"
|
||||||
[(set_attr "neon_type" "neon_vst1_1_2_regs_vst2_2_regs")])
|
[(set_attr "neon_type" "neon_vst1_1_2_regs_vst2_2_regs")])
|
||||||
|
|
||||||
|
|
@ -282,7 +282,7 @@
|
||||||
(unspec:VQX [(match_operand:VQX 1 "neon_permissive_struct_operand"
|
(unspec:VQX [(match_operand:VQX 1 "neon_permissive_struct_operand"
|
||||||
" Um")]
|
" Um")]
|
||||||
UNSPEC_MISALIGNED_ACCESS))]
|
UNSPEC_MISALIGNED_ACCESS))]
|
||||||
"TARGET_NEON && !BYTES_BIG_ENDIAN"
|
"TARGET_NEON && !BYTES_BIG_ENDIAN && unaligned_access"
|
||||||
"vld1.<V_sz_elem>\t{%q0}, %A1"
|
"vld1.<V_sz_elem>\t{%q0}, %A1"
|
||||||
[(set_attr "neon_type" "neon_vld1_1_2_regs")])
|
[(set_attr "neon_type" "neon_vld1_1_2_regs")])
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue