aarch64: Add mode size check on LDAPR-extend patterns

Add an extra safety check as suggested by Richard.
Tested on aarch64-none-linux-gnu.

gcc/ChangeLog:

	* config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
	Add mode size check to condition.
	(*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise.
This commit is contained in:
Kyrylo Tkachov 2022-11-17 11:16:54 +00:00
parent 822a0823c0
commit 06c8f2ebf0

View file

@ -711,7 +711,7 @@
[(match_operand:ALLX 1 "aarch64_sync_memory_operand" "Q")
(match_operand:SI 2 "const_int_operand")] ;; model
UNSPECV_LDAP)))]
"TARGET_RCPC"
"TARGET_RCPC && (<GPI:sizen> > <ALLX:sizen>)"
"ldapr<ALLX:atomic_sfx>\t%<GPI:w>0, %1"
)
@ -722,7 +722,7 @@
[(match_operand:ALLX 1 "aarch64_sync_memory_operand" "Q")
(match_operand:SI 2 "const_int_operand")] ;; model
UNSPECV_LDAP)))]
"TARGET_RCPC"
"TARGET_RCPC && (<GPI:sizen> > <ALLX:sizen>)"
"ldaprs<ALLX:atomic_sfx>\t%<GPI:w>0, %1"
)