14 lines · plain
1; RUN: opt < %s -passes=instcombine -S | FileCheck %s2 3; This cannot be turned into a sign extending cast!4 5define i64 @test(i64 %X) {6 %Y = shl i64 %X, 16 ; <i64> [#uses=1]7; CHECK: %Y = shl i64 %X, 168 %Z = ashr i64 %Y, 16 ; <i64> [#uses=1]9; CHECK: %Z = ashr exact i64 %Y, 1610 ret i64 %Z11; CHECK: ret i64 %Z12}13 14