Chromium Code Reviews| Index: src/IceTargetLoweringX8632.cpp |
| diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp |
| index 7b977585b5c6e910cb6bc8f2e02f4b678c518d15..a6c09b12626287390c2db609e91831e2d8665d83 100644 |
| --- a/src/IceTargetLoweringX8632.cpp |
| +++ b/src/IceTargetLoweringX8632.cpp |
| @@ -2057,6 +2057,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) { |
| Inst->getSrc(0)->getType() == IceType_v4f32); |
| Operand *Src0RM = legalize(Inst->getSrc(0), Legal_Reg | Legal_Mem); |
| Variable *T = makeReg(Dest->getType()); |
| + // TODO(stichnot): _cvt or _cvtt? |
|
jvoung (off chromium)
2014/09/08 17:27:05
seems like it should be cvtt to match the scalar b
Jim Stichnoth
2014/09/08 17:47:06
You're probably right. I wasn't sure since there
|
| _cvt(T, Src0RM); |
| _movp(Dest, T); |
| } else if (Dest->getType() == IceType_i64) { |
| @@ -2079,7 +2080,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) { |
| // t1.i32 = cvt Src0RM; t2.dest_type = t1; Dest = t2.dest_type |
| Variable *T_1 = makeReg(IceType_i32); |
| Variable *T_2 = makeReg(Dest->getType()); |
| - _cvt(T_1, Src0RM); |
| + _cvtt(T_1, Src0RM); |
| _mov(T_2, T_1); // T_1 and T_2 may have different integer types |
| _mov(Dest, T_2); |
| T_2->setPreferredRegister(T_1, true); |
| @@ -2114,7 +2115,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) { |
| // t1.i32 = cvt Src0RM; t2.dest_type = t1; Dest = t2.dest_type |
| Variable *T_1 = makeReg(IceType_i32); |
| Variable *T_2 = makeReg(Dest->getType()); |
| - _cvt(T_1, Src0RM); |
| + _cvtt(T_1, Src0RM); |
| _mov(T_2, T_1); // T_1 and T_2 may have different integer types |
| _mov(Dest, T_2); |
| T_2->setPreferredRegister(T_1, true); |