[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / InstCombine / constant-expr-datalayout.ll
blobcdecfc91f592fd5110e41942a4f6f172bc6b056f
1 ; RUN: opt -instcombine %s -S -o - | FileCheck %s
3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
4 target triple = "x86_64-unknown-linux-gnu"
6 %test1.struct = type { i32, i32 }
7 @test1.aligned_glbl = global %test1.struct zeroinitializer, align 4
8 define void @test1(i64 *%ptr) {
9   store i64 and (i64 ptrtoint (i32* getelementptr (%test1.struct, %test1.struct* @test1.aligned_glbl, i32 0, i32 1) to i64), i64 3), i64* %ptr
10 ; CHECK: store i64 0, i64* %ptr
11   ret void