Skip to content
Snippets Groups Projects
Commit fc79c3a2 authored by Andrew Pinski's avatar Andrew Pinski
Browse files

[GCC 13] Fix aarch64/109762: push_options/push_options does not work sometimes

aarch64_isa_flags (and aarch64_asm_isa_flags) are both aarch64_feature_flags (uint64_t)
but since r12-8000-g14814e20161d, they are saved/restored as unsigned long. This
does not make a difference for LP64 targets but on ILP32 and LLP64IL32 targets,
it means it does not get restored correctly.
This patch changes over to use aarch64_feature_flags instead of unsigned long.

Committed as obvious to gcc 13 branch after a bootstrap/test.

gcc/ChangeLog:

	PR target/109762
	* config/aarch64/aarch64-builtins.cc (aarch64_simd_switcher::aarch64_simd_switcher):
	Change argument type to aarch64_feature_flags.
	* config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Change
	constructor argument type to aarch64_feature_flags.
	Change m_old_asm_isa_flags to be aarch64_feature_flags.

(cherry picked from commit a1a9ce24)
parent 3d4b9e8d
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment