diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp index 535a925..39c682d 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp @@ -523,7 +523,10 @@ unsigned WebAssemblyFastISel::zeroExtend(unsigned Reg, const Value *V, return Result; } - return zeroExtendToI32(Reg, V, From); + if (To == MVT::i32) + return zeroExtendToI32(Reg, V, From); + + return 0; } unsigned WebAssemblyFastISel::signExtend(unsigned Reg, const Value *V, @@ -542,7 +545,10 @@ unsigned WebAssemblyFastISel::signExtend(unsigned Reg, const Value *V, return Result; } - return signExtendToI32(Reg, V, From); + if (To == MVT::i32) + return signExtendToI32(Reg, V, From); + + return 0; } unsigned WebAssemblyFastISel::getRegForUnsignedValue(const Value *V) { |