diff options
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/X86/umul-with-overflow.ll | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/umul-with-overflow.ll b/llvm/test/CodeGen/X86/umul-with-overflow.ll index 64a8933346e..c2a0dc047bc 100644 --- a/llvm/test/CodeGen/X86/umul-with-overflow.ll +++ b/llvm/test/CodeGen/X86/umul-with-overflow.ll @@ -68,3 +68,12 @@ entry: %tmp2 = extractvalue { i32, i1 } %tmp1, 0 ret i32 %tmp2 } + +; Check that shifts larger than the shift amount type are handled. +; Intentionally not testing codegen here, only that this doesn't assert. +declare {i300, i1} @llvm.umul.with.overflow.i300(i300 %a, i300 %b) +define i300 @test4(i300 %a, i300 %b) nounwind { + %x = call {i300, i1} @llvm.umul.with.overflow.i300(i300 %a, i300 %b) + %y = extractvalue {i300, i1} %x, 0 + ret i300 %y +} |

