Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: src/IceTargetLoweringX8632Traits.h

Issue 1531623007: Add option to force filetype=asm for testing (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Code review fixes. Tighter ABI checks. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/IceTargetLoweringX8632Traits.h
diff --git a/src/IceTargetLoweringX8632Traits.h b/src/IceTargetLoweringX8632Traits.h
index 00ea2d91cce1de6df2b2c935b27d5e3c9af07b77..ab22bfdbe16c36b364a88897bbe26df600625b4f 100644
--- a/src/IceTargetLoweringX8632Traits.h
+++ b/src/IceTargetLoweringX8632Traits.h
@@ -364,8 +364,19 @@ struct TargetX8632Traits {
assert(RegNum != Variable::NoRegister);
// TODO(stichnot): Rewrite this as a table lookup from a table computed in a
// TargetLowering static initializer.
+ // [abcd]h registers are not convertible to their ?l, ?x, and e?x versions.
+ switch (RegNum) {
+ default:
+ break;
+ case RegisterSet::Reg_ah:
+ case RegisterSet::Reg_bh:
+ case RegisterSet::Reg_ch:
+ case RegisterSet::Reg_dh:
+ assert(isByteSizedType(Ty));
+ return RegNum;
+ }
RegNum = getBaseReg(RegNum);
- if (Ty == IceType_i8 || Ty == IceType_i1) {
+ if (isByteSizedType(Ty)) {
switch (RegNum) {
default:
assert(0);

Powered by Google App Engine
This is Rietveld 408576698