Home | History | Annotate | Download | only in InstSimplify
      1 ; NOTE: Assertions have been autogenerated by update_test_checks.py
      2 ; RUN: opt < %s -S -instsimplify | FileCheck %s
      3 
      4 declare i16 @llvm.bswap.i16(i16)
      5 
      6 define i1 @test1(i16 %arg) {
      7 ; CHECK-LABEL: @test1(
      8 ; CHECK:         ret i1 false
      9 ;
     10   %a = or i16 %arg, 1
     11   %b = call i16 @llvm.bswap.i16(i16 %a)
     12   %res = icmp eq i16 %b, 0
     13   ret i1 %res
     14 }
     15 
     16 define i1 @test2(i16 %arg) {
     17 ; CHECK-LABEL: @test2(
     18 ; CHECK:         ret i1 false
     19 ;
     20   %a = or i16 %arg, 1024
     21   %b = call i16 @llvm.bswap.i16(i16 %a)
     22   %res = icmp eq i16 %b, 0
     23   ret i1 %res
     24 }
     25 
     26 define i1 @test3(i16 %arg) {
     27 ; CHECK-LABEL: @test3(
     28 ; CHECK:         ret i1 false
     29 ;
     30   %a = and i16 %arg, 1
     31   %b = call i16 @llvm.bswap.i16(i16 %a)
     32   %and = and i16 %b, 1
     33   %res = icmp eq i16 %and, 1
     34   ret i1 %res
     35 }
     36 
     37 define i1 @test4(i16 %arg) {
     38 ; CHECK-LABEL: @test4(
     39 ; CHECK:         ret i1 false
     40 ;
     41   %a = and i16 %arg, 511
     42   %b = call i16 @llvm.bswap.i16(i16 %a)
     43   %and = and i16 %b, 256
     44   %res = icmp eq i16 %and, 1
     45   ret i1 %res
     46 }
     47