Skip to content

Commit aea36f4

Browse files
committed
skip arm for now (it is a mess)
some incomplete code is here https://gist.github.com/folkertdev/fe99874c466e598d0fb2dadf13b91b6f
1 parent 1ce4d18 commit aea36f4

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

compiler/rustc_codegen_ssa/src/mir/naked_asm.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ fn enable_disable_target_features<'tcx>(
184184
// no action is needed, all instructions are accepted regardless of target feature
185185
}
186186

187-
Architecture::Aarch64 | Architecture::Aarch64_Ilp32 | Architecture::Arm => {
187+
Architecture::Aarch64 | Architecture::Aarch64_Ilp32 => {
188188
// https://developer.arm.com/documentation/100067/0611/armclang-Integrated-Assembler/AArch32-Target-selection-directives?lang=en
189189

190190
for feature in features {
@@ -197,6 +197,17 @@ fn enable_disable_target_features<'tcx>(
197197
}
198198
}
199199
}
200+
Architecture::Arm => {
201+
// https://developer.arm.com/documentation/100067/0611/armclang-Integrated-Assembler/AArch32-Target-selection-directives?lang=en
202+
203+
// FIXME: implement the target feature handling. Contrary to most other targets, there
204+
// is no convenient push/pop mechanism. That means we have to manually restore the state
205+
// of the target features to the state on entry. This is complicated, given how arm
206+
// features interact. There is some incomplete code here https://gist.github.com/folkertdev/fe99874c466e598d0fb2dadf13b91b6f
207+
208+
/* fallthrough */
209+
}
210+
200211
Architecture::Riscv32 | Architecture::Riscv64 => {
201212
// https://github.com/riscv-non-isa/riscv-asm-manual/blob/ad0de8c004e29c9a7ac33cfd054f4d4f9392f2fb/src/asm-manual.adoc#arch
202213

0 commit comments

Comments
 (0)