fix some return type & intrinsic typing

This commit is contained in:
Joshua Warner
2014-05-02 08:42:41 -06:00
parent cb7f570f20
commit 7b0d577430
2 changed files with 14 additions and 19 deletions

View File

@ -2667,16 +2667,17 @@ class MyCompiler: public Compiler {
ir::Value* src,
ir::Type dstType)
{
assert(&c, dstType.size() >= TargetBytesPerWord);
assert(&c, srcType.flavor() == dstType.flavor());
assert(&c, src->type.flavor() == dstType.flavor());
Value* dst = value(&c, src->type);
Value* dst = value(&c, dstType);
appendMove(&c,
signExtend == ir::SignExtend ? lir::Move : lir::MoveZ,
srcType.size(),
srcType.size(),
static_cast<Value*>(src),
dstType.size(),
dstType.size() < TargetBytesPerWord ? TargetBytesPerWord
: dstType.size(),
dst);
return dst;
}