aarch64: avoid switching on > 64 bit values, to facilitiate bootstrapping with C compilers without 128 bit integers #24575
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Not all C compilers natively support 128 bit integer types, and the CBE currently lowers switches as C switch statements. This means that MSVC (or any compiler where
zig_has_int128
is 0) cannot compile zig2.c if it contains any switches on (i|u)128.Of course, it would be ideal if the CBE could lower these switches differently. In this case however, the switches in question don't require the full 128-bit range.