This patch is required by OpenMP. After applying this patch, OpenMP regression
test passed. To reduce review difficulty caused by too large patches,
atomicrmw min/max operations on LA32 will be added later.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp | ||
---|---|---|
2413–2414 | This may have room for improvement: Firstly, this value is statically known at compile-time, so it should probably be an immediate. I looked at the surrounding code and found out some similar expressions like this one, so you may choose to refactor later. Secondly, we have ext.w.b and ext.w.h that is usable even in LA32 mode, so it may be very worthwhile to special-case these two sizes so that the sign extension can be done in one insn/cycle. |
llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp | ||
---|---|---|
2413–2414 | Thanks for your advice! I will improve the relevant implementation in the later patch. |
Align?