Author: vitalybuka
Date: Thu Jul 11 18:36:11 2019
New Revision: 365857

URL: http://llvm.org/viewvc/llvm-project?rev=365857&view=rev
Log:
Codegen, NFC: 32bit test in auto-var-init.cpp

Modified:
    cfe/trunk/test/CodeGenCXX/auto-var-init.cpp

Modified: cfe/trunk/test/CodeGenCXX/auto-var-init.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/auto-var-init.cpp?rev=365857&r1=365856&r2=365857&view=diff
==============================================================================
--- cfe/trunk/test/CodeGenCXX/auto-var-init.cpp (original)
+++ cfe/trunk/test/CodeGenCXX/auto-var-init.cpp Thu Jul 11 18:36:11 2019
@@ -5,10 +5,18 @@
 // RUN: %clang_cc1 -std=c++14 -triple x86_64-unknown-unknown -fblocks 
-ftrivial-auto-var-init=zero %s -emit-llvm -o - | FileCheck %s 
-check-prefixes=CHECK-O0,ZERO,ZERO-O0
 // RUN: %clang_cc1 -std=c++14 -triple x86_64-unknown-unknown -fblocks 
-ftrivial-auto-var-init=zero %s -O1 -fno-experimental-new-pass-manager 
-emit-llvm -o - | FileCheck %s 
-check-prefixes=CHECK-O1,ZERO,ZERO-O1,ZERO-O1-LEGACY
 // RUN: %clang_cc1 -std=c++14 -triple x86_64-unknown-unknown -fblocks 
-ftrivial-auto-var-init=zero %s -O1 -fexperimental-new-pass-manager -emit-llvm 
-o - | FileCheck %s -check-prefixes=CHECK-O1,ZERO,ZERO-O1,ZERO-O1-NEWPM
-// RUN: %clang_cc1 -std=c++14 -triple i386-unknown-unknown -fblocks 
-ftrivial-auto-var-init=pattern %s -emit-llvm -o - | FileCheck %s 
-check-prefixes=PATTERN-I386
+// RUN: %clang_cc1 -std=c++14 -triple i386-unknown-unknown -fblocks 
-ftrivial-auto-var-init=pattern %s -emit-llvm -o - | FileCheck %s 
-check-prefixes=CHECK-O0,PATTERN,PATTERN-O0
 
 #pragma clang diagnostic ignored "-Winaccessible-base"
 
+#ifdef __x86_64__
+char inits[] = 
{"-86/-21846/-1431655766/i64/-6148914691236517206/-6148914691236517206/i128/-113427455640312821154458202477256070486/i64/-6148914691236517206/AA/"};
+#else
+char inits[] = 
{"-86/-21846/-1431655766/i32/-1431655766/-6148914691236517206/i32/-1431655766/i32/170/AA/"};
+#define __int128 int;
+#endif
+// PATTERN: @inits = {{.*}} 
c"[[I8:[^/]+]]/[[I16:[^/]+]]/[[I32:[^/]+]]/[[ILONGT:[^/]+]]/[[ILONG:[^/]+]]/[[I64:[^/]+]]/[[I128T:[^/]+]]/[[I128:[^/]+]]/[[IPTRT:[^/]+]]/[[IPTR:[^/]+]]/[[IC:[^/]+]]/\00",
 align 1
+
 template<typename T> void used(T &) noexcept;
 
 #define TEST_UNINIT(NAME, TYPE)                 \
@@ -37,122 +45,118 @@ template<typename T> void used(T &) noex
 // PATTERN-NOT: undef
 // ZERO-NOT: undef
 
-// PATTERN-O0: @__const.test_empty_uninit.uninit = private unnamed_addr 
constant %struct.empty { i8 -86 }, align 1
+// PATTERN-O0: @__const.test_empty_uninit.uninit = private unnamed_addr 
constant %struct.empty { i8 [[I8]] }, align 1
 // PATTERN-O1-NOT: @__const.test_empty_uninit.uninit
 struct empty {};
-// PATTERN-O0: @__const.test_small_uninit.uninit = private unnamed_addr 
constant %struct.small { i8 -86 }, align 1
+// PATTERN-O0: @__const.test_small_uninit.uninit = private unnamed_addr 
constant %struct.small { i8 [[I8]] }, align 1
 // PATTERN-O0: @__const.test_small_custom.custom = private unnamed_addr 
constant %struct.small { i8 42 }, align 1
 // ZERO-O0: @__const.test_small_custom.custom = private unnamed_addr constant 
%struct.small { i8 42 }, align 1
 // PATTERN-O1-NOT: @__const.test_small_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_small_custom.custom
 // ZERO-O1-NOT: @__const.test_small_custom.custom
 struct small { char c; };
-// PATTERN-O0: @__const.test_smallinit_uninit.uninit = private unnamed_addr 
constant %struct.smallinit { i8 -86 }, align 1
-// PATTERN-O0: @__const.test_smallinit_braces.braces = private unnamed_addr 
constant %struct.smallinit { i8 -86 }, align 1
-// PATTERN-O0: @__const.test_smallinit_custom.custom = private unnamed_addr 
constant %struct.smallinit { i8 -86 }, align 1
+// PATTERN-O0: @__const.test_smallinit_uninit.uninit = private unnamed_addr 
constant %struct.smallinit { i8 [[I8]] }, align 1
+// PATTERN-O0: @__const.test_smallinit_braces.braces = private unnamed_addr 
constant %struct.smallinit { i8 [[I8]] }, align 1
+// PATTERN-O0: @__const.test_smallinit_custom.custom = private unnamed_addr 
constant %struct.smallinit { i8 [[I8]] }, align 1
 // PATTERN-O1-NOT: @__const.test_smallinit_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_smallinit_braces.braces
 // PATTERN-O1-NOT: @__const.test_smallinit_custom.custom
 struct smallinit { char c = 42; };
-// PATTERN-O0: @__const.test_smallpartinit_uninit.uninit = private 
unnamed_addr constant %struct.smallpartinit { i8 -86, i8 -86 }, align 1
-// PATTERN-O0: @__const.test_smallpartinit_braces.braces = private 
unnamed_addr constant %struct.smallpartinit { i8 -86, i8 -86 }, align 1
-// PATTERN-O0: @__const.test_smallpartinit_custom.custom = private 
unnamed_addr constant %struct.smallpartinit { i8 -86, i8 -86 }, align 1
+// PATTERN-O0: @__const.test_smallpartinit_uninit.uninit = private 
unnamed_addr constant %struct.smallpartinit { i8 [[I8]], i8 [[I8]] }, align 1
+// PATTERN-O0: @__const.test_smallpartinit_braces.braces = private 
unnamed_addr constant %struct.smallpartinit { i8 [[I8]], i8 [[I8]] }, align 1
+// PATTERN-O0: @__const.test_smallpartinit_custom.custom = private 
unnamed_addr constant %struct.smallpartinit { i8 [[I8]], i8 [[I8]] }, align 1
 // PATTERN-O1-NOT: @__const.test_smallpartinit_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_smallpartinit_braces.braces
 // PATTERN-O1-NOT: @__const.test_smallpartinit_custom.custom
 struct smallpartinit { char c = 42, d; };
-// PATTERN-O0: @__const.test_nullinit_uninit.uninit = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr (i64 -6148914691236517206 to i8*) }, 
align 8
-// PATTERN-O0: @__const.test_nullinit_braces.braces = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr (i64 -6148914691236517206 to i8*) }, 
align 8
-// PATTERN-O0: @__const.test_nullinit_custom.custom = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr (i64 -6148914691236517206 to i8*) }, 
align 8
+// PATTERN-O0: @__const.test_nullinit_uninit.uninit = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr ([[IPTRT]] [[IPTR]] to i8*) }, align
+// PATTERN-O0: @__const.test_nullinit_braces.braces = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr ([[IPTRT]] [[IPTR]] to i8*) }, align
+// PATTERN-O0: @__const.test_nullinit_custom.custom = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr ([[IPTRT]] [[IPTR]] to i8*) }, align
 // PATTERN-O1-NOT: @__const.test_nullinit_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_nullinit_braces.braces
 // PATTERN-O1-NOT: @__const.test_nullinit_custom.custom
-// PATTERN-I386: @__const.test_nullinit_uninit.uninit = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr (i32 170 to i8*) }, align 4
-// PATTERN-I386: @__const.test_nullinit_braces.braces = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr (i32 170 to i8*) }, align 4
-// PATTERN-I386: @__const.test_nullinit_custom.custom = private unnamed_addr 
constant %struct.nullinit { i8* inttoptr (i32 170 to i8*) }, align 4
 struct nullinit { char* null = nullptr; };
-// PATTERN-O0: @__const.test_padded_uninit.uninit = private unnamed_addr 
constant { i8, [3 x i8], i32 } { i8 -86, [3 x i8] c"\AA\AA\AA", i32 -1431655766 
}, align 4
+// PATTERN-O0: @__const.test_padded_uninit.uninit = private unnamed_addr 
constant { i8, [3 x i8], i32 } { i8 [[I8]], [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]", 
i32 [[I32]] }, align 4
 // PATTERN-O0: @__const.test_padded_custom.custom = private unnamed_addr 
constant { i8, [3 x i8], i32 } { i8 42, [3 x i8] zeroinitializer, i32 13371337 
}, align 4
 // ZERO-O0: @__const.test_padded_custom.custom = private unnamed_addr constant 
{ i8, [3 x i8], i32 } { i8 42, [3 x i8] zeroinitializer, i32 13371337 }, align 4
 // PATTERN-O1-NOT: @__const.test_padded_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_padded_custom.custom
 // ZERO-O1-NOT: @__const.test_padded_custom.custom
 struct padded { char c; int i; };
-// PATTERN-O0: @__const.test_paddednullinit_uninit.uninit = private 
unnamed_addr constant { i8, [3 x i8], i32 } { i8 -86, [3 x i8] c"\AA\AA\AA", 
i32 -1431655766 }, align 4
-// PATTERN-O0: @__const.test_paddednullinit_braces.braces = private 
unnamed_addr constant { i8, [3 x i8], i32 } { i8 -86, [3 x i8] c"\AA\AA\AA", 
i32 -1431655766 }, align 4
-// PATTERN-O0: @__const.test_paddednullinit_custom.custom = private 
unnamed_addr constant { i8, [3 x i8], i32 } { i8 -86, [3 x i8] c"\AA\AA\AA", 
i32 -1431655766 }, align 4
+// PATTERN-O0: @__const.test_paddednullinit_uninit.uninit = private 
unnamed_addr constant { i8, [3 x i8], i32 } { i8 [[I8]], [3 x i8] 
c"\[[IC]]\[[IC]]\[[IC]]", i32 [[I32]] }, align 4
+// PATTERN-O0: @__const.test_paddednullinit_braces.braces = private 
unnamed_addr constant { i8, [3 x i8], i32 } { i8 [[I8]], [3 x i8] 
c"\[[IC]]\[[IC]]\[[IC]]", i32 [[I32]] }, align 4
+// PATTERN-O0: @__const.test_paddednullinit_custom.custom = private 
unnamed_addr constant { i8, [3 x i8], i32 } { i8 [[I8]], [3 x i8] 
c"\[[IC]]\[[IC]]\[[IC]]", i32 [[I32]] }, align 4
 // PATTERN-O1-NOT: @__const.test_paddednullinit_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_paddednullinit_braces.braces
 // PATTERN-O1-NOT: @__const.test_paddednullinit_custom.custom
 struct paddednullinit { char c = 0; int i = 0; };
-// PATTERN-O0: @__const.test_paddedpacked_uninit.uninit = private unnamed_addr 
constant %struct.paddedpacked <{ i8 -86, i32 -1431655766 }>, align 1
+// PATTERN-O0: @__const.test_paddedpacked_uninit.uninit = private unnamed_addr 
constant %struct.paddedpacked <{ i8 [[I8]], i32 [[I32]] }>, align 1
 // PATTERN: @__const.test_paddedpacked_custom.custom = private unnamed_addr 
constant %struct.paddedpacked <{ i8 42, i32 13371337 }>, align 1
 // ZERO: @__const.test_paddedpacked_custom.custom = private unnamed_addr 
constant %struct.paddedpacked <{ i8 42, i32 13371337 }>, align 1
 struct paddedpacked { char c; int i; } __attribute__((packed));
-// PATTERN-O0: @__const.test_paddedpackedarray_uninit.uninit = private 
unnamed_addr constant %struct.paddedpackedarray { [2 x %struct.paddedpacked] 
[%struct.paddedpacked <{ i8 -86, i32 -1431655766 }>, %struct.paddedpacked <{ i8 
-86, i32 -1431655766 }>] }, align 1
+// PATTERN-O0: @__const.test_paddedpackedarray_uninit.uninit = private 
unnamed_addr constant %struct.paddedpackedarray { [2 x %struct.paddedpacked] 
[%struct.paddedpacked <{ i8 [[I8]], i32 [[I32]] }>, %struct.paddedpacked <{ i8 
[[I8]], i32 [[I32]] }>] }, align 1
 // PATTERN: @__const.test_paddedpackedarray_custom.custom = private 
unnamed_addr constant %struct.paddedpackedarray { [2 x %struct.paddedpacked] 
[%struct.paddedpacked <{ i8 42, i32 13371337 }>, %struct.paddedpacked <{ i8 43, 
i32 13371338 }>] }, align 1
 // ZERO: @__const.test_paddedpackedarray_custom.custom = private unnamed_addr 
constant %struct.paddedpackedarray { [2 x %struct.paddedpacked] 
[%struct.paddedpacked <{ i8 42, i32 13371337 }>, %struct.paddedpacked <{ i8 43, 
i32 13371338 }>] }, align 1
 struct paddedpackedarray { struct paddedpacked p[2]; };
-// PATTERN-O0: @__const.test_unpackedinpacked_uninit.uninit = private 
unnamed_addr constant <{ { i8, [3 x i8], i32 }, i8 }> <{ { i8, [3 x i8], i32 } 
{ i8 -86, [3 x i8] c"\AA\AA\AA", i32 -1431655766 }, i8 -86 }>, align 1
+// PATTERN-O0: @__const.test_unpackedinpacked_uninit.uninit = private 
unnamed_addr constant <{ { i8, [3 x i8], i32 }, i8 }> <{ { i8, [3 x i8], i32 } 
{ i8 [[I8]], [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]", i32 [[I32]] }, i8 [[I8]] }>, 
align 1
 struct unpackedinpacked { padded a; char b; } __attribute__((packed));
-// PATTERN-O0: @__const.test_paddednested_uninit.uninit = private unnamed_addr 
constant { { i8, [3 x i8], i32 }, { i8, [3 x i8], i32 } } { { i8, [3 x i8], i32 
} { i8 -86, [3 x i8] c"\AA\AA\AA", i32 -1431655766 }, { i8, [3 x i8], i32 } { 
i8 -86, [3 x i8] c"\AA\AA\AA", i32 -1431655766 } }, align 4
+// PATTERN-O0: @__const.test_paddednested_uninit.uninit = private unnamed_addr 
constant { { i8, [3 x i8], i32 }, { i8, [3 x i8], i32 } } { { i8, [3 x i8], i32 
} { i8 [[I8]], [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]", i32 [[I32]] }, { i8, [3 x 
i8], i32 } { i8 [[I8]], [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]", i32 [[I32]] } }, 
align 4
 // PATTERN: @__const.test_paddednested_custom.custom = private unnamed_addr 
constant { { i8, [3 x i8], i32 }, { i8, [3 x i8], i32 } } { { i8, [3 x i8], i32 
} { i8 42, [3 x i8] zeroinitializer, i32 13371337 }, { i8, [3 x i8], i32 } { i8 
43, [3 x i8] zeroinitializer, i32 13371338 } }, align 4
 // ZERO: @__const.test_paddednested_custom.custom = private unnamed_addr 
constant { { i8, [3 x i8], i32 }, { i8, [3 x i8], i32 } } { { i8, [3 x i8], i32 
} { i8 42, [3 x i8] zeroinitializer, i32 13371337 }, { i8, [3 x i8], i32 } { i8 
43, [3 x i8] zeroinitializer, i32 13371338 } }, align 4
 struct paddednested { struct padded p1, p2; };
-// PATTERN-O0: @__const.test_paddedpackednested_uninit.uninit = private 
unnamed_addr constant %struct.paddedpackednested { %struct.paddedpacked <{ i8 
-86, i32 -1431655766 }>, %struct.paddedpacked <{ i8 -86, i32 -1431655766 }> }, 
align 1
+// PATTERN-O0: @__const.test_paddedpackednested_uninit.uninit = private 
unnamed_addr constant %struct.paddedpackednested { %struct.paddedpacked <{ i8 
[[I8]], i32 [[I32]] }>, %struct.paddedpacked <{ i8 [[I8]], i32 [[I32]] }> }, 
align 1
 // PATTERN: @__const.test_paddedpackednested_custom.custom = private 
unnamed_addr constant %struct.paddedpackednested { %struct.paddedpacked <{ i8 
42, i32 13371337 }>, %struct.paddedpacked <{ i8 43, i32 13371338 }> }, align 1
 // ZERO: @__const.test_paddedpackednested_custom.custom = private unnamed_addr 
constant %struct.paddedpackednested { %struct.paddedpacked <{ i8 42, i32 
13371337 }>, %struct.paddedpacked <{ i8 43, i32 13371338 }> }, align 1
 struct paddedpackednested { struct paddedpacked p1, p2; };
-// PATTERN-O0: @__const.test_bitfield_uninit.uninit = private unnamed_addr 
constant %struct.bitfield { i8 -86, [3 x i8] c"\AA\AA\AA" }, align 4
-// PATTERN-O0: @__const.test_bitfield_custom.custom = private unnamed_addr 
constant %struct.bitfield { i8 20, [3 x i8] c"\AA\AA\AA" }, align 4
+// PATTERN-O0: @__const.test_bitfield_uninit.uninit = private unnamed_addr 
constant %struct.bitfield { i8 [[I8]], [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]" }, 
align 4
+// PATTERN-O0: @__const.test_bitfield_custom.custom = private unnamed_addr 
constant %struct.bitfield { i8 20, [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]" }, align 4
 // ZERO-O0: @__const.test_bitfield_custom.custom = private unnamed_addr 
constant %struct.bitfield { i8 20, [3 x i8] zeroinitializer }, align 4
 // PATTERN-O1-NOT: @__const.test_bitfield_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_bitfield_custom.custom
 // ZERO-O1-NOT: @__const.test_bitfield_custom.custom
 struct bitfield { int i : 4; int j : 2; };
-// PATTERN-O0: @__const.test_bitfieldaligned_uninit.uninit = private 
unnamed_addr constant %struct.bitfieldaligned { i8 -86, [3 x i8] c"\AA\AA\AA", 
i8 -86, [3 x i8] c"\AA\AA\AA" }, align 4
-// PATTERN-O0: @__const.test_bitfieldaligned_custom.custom = private 
unnamed_addr constant %struct.bitfieldaligned { i8 4, [3 x i8] c"\AA\AA\AA", i8 
1, [3 x i8] c"\AA\AA\AA" }, align 4
+// PATTERN-O0: @__const.test_bitfieldaligned_uninit.uninit = private 
unnamed_addr constant %struct.bitfieldaligned { i8 [[I8]], [3 x i8] 
c"\[[IC]]\[[IC]]\[[IC]]", i8 [[I8]], [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]" }, align 
4
+// PATTERN-O0: @__const.test_bitfieldaligned_custom.custom = private 
unnamed_addr constant %struct.bitfieldaligned { i8 4, [3 x i8] 
c"\[[IC]]\[[IC]]\[[IC]]", i8 1, [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]" }, align 4
 // ZERO-O0: @__const.test_bitfieldaligned_custom.custom = private unnamed_addr 
constant %struct.bitfieldaligned { i8 4, [3 x i8] zeroinitializer, i8 1, [3 x 
i8] zeroinitializer }, align 4
 // PATTERN-O1-NOT: @__const.test_bitfieldaligned_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_bitfieldaligned_custom.custom
 // ZERO-O1-NOT: @__const.test_bitfieldaligned_custom.custom
 struct bitfieldaligned { int i : 4; int : 0; int j : 2; };
 struct big { unsigned a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, 
t, u, v, w, x, y, z; };
-// PATTERN-O0: @__const.test_arraytail_uninit.uninit = private unnamed_addr 
constant %struct.arraytail { i32 -1431655766, [0 x i32] zeroinitializer }, 
align 4
+// PATTERN-O0: @__const.test_arraytail_uninit.uninit = private unnamed_addr 
constant %struct.arraytail { i32 [[I32]], [0 x i32] zeroinitializer }, align 4
 // PATTERN-O0: @__const.test_arraytail_custom.custom = private unnamed_addr 
constant %struct.arraytail { i32 57005, [0 x i32] zeroinitializer }, align 4
 // ZERO-O0: @__const.test_arraytail_custom.custom = private unnamed_addr 
constant %struct.arraytail { i32 57005, [0 x i32] zeroinitializer }, align 4
 // PATTERN-O1-NOT: @__const.test_arraytail_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_arraytail_custom.custom
 // ZERO-O1-NOT: @__const.test_arraytail_custom.custom
 struct arraytail { int i; int arr[]; };
-// PATTERN-O0: @__const.test_int1_uninit.uninit = private unnamed_addr 
constant [1 x i32] [i32 -1431655766], align 4
+// PATTERN-O0: @__const.test_int1_uninit.uninit = private unnamed_addr 
constant [1 x i32] {{\[}}i32 [[I32]]], align 4
 // PATTERN-O0: @__const.test_int1_custom.custom = private unnamed_addr 
constant [1 x i32] [i32 858993459], align 4
 // ZERO-O0: @__const.test_int1_custom.custom = private unnamed_addr constant 
[1 x i32] [i32 858993459], align 4
 // PATTERN-O1-NOT: @__const.test_int1_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_int1_custom.custom
 // ZERO-O1-NOT: @__const.test_int1_custom.custom
 
-// PATTERN-O0: @__const.test_bool4_uninit.uninit = private unnamed_addr 
constant [4 x i8] c"\AA\AA\AA\AA", align 1
+// PATTERN-O0: @__const.test_bool4_uninit.uninit = private unnamed_addr 
constant [4 x i8] c"\[[IC]]\[[IC]]\[[IC]]\[[IC]]", align 1
 // PATTERN-O0: @__const.test_bool4_custom.custom = private unnamed_addr 
constant [4 x i8] c"\01\01\01\01", align 1
 // ZERO-O0: @__const.test_bool4_custom.custom = private unnamed_addr constant 
[4 x i8] c"\01\01\01\01", align 1
 // PATTERN-O1-NOT: @__const.test_bool4_uninit.uninit
 // PATTERN-O1-NOT: @__const.test_bool4_custom.custom
 // ZERO-O1-NOT: @__const.test_bool4_custom.custom
 
-// PATTERN: @__const.test_intptr4_custom.custom = private unnamed_addr 
constant [4 x i32*] [i32* inttoptr (i64 572662306 to i32*), i32* inttoptr (i64 
572662306 to i32*), i32* inttoptr (i64 572662306 to i32*), i32* inttoptr (i64 
572662306 to i32*)], align 16
+// PATTERN: @__const.test_intptr4_custom.custom = private unnamed_addr 
constant [4 x i32*] [i32* inttoptr ([[IPTRT]] 572662306 to i32*), i32* inttoptr 
([[IPTRT]] 572662306 to i32*), i32* inttoptr ([[IPTRT]] 572662306 to i32*), 
i32* inttoptr ([[IPTRT]] 572662306 to i32*)], align
 // ZERO: @__const.test_intptr4_custom.custom = private unnamed_addr constant 
[4 x i32*] [i32* inttoptr (i64 572662306 to i32*), i32* inttoptr (i64 572662306 
to i32*), i32* inttoptr (i64 572662306 to i32*), i32* inttoptr (i64 572662306 
to i32*)], align 16
-// PATTERN-O0: @__const.test_tailpad4_uninit.uninit = private unnamed_addr 
constant [4 x { i16, i8, [1 x i8] }] [{ i16, i8, [1 x i8] } { i16 -21846, i8 
-86, [1 x i8] c"\AA" }, { i16, i8, [1 x i8] } { i16 -21846, i8 -86, [1 x i8] 
c"\AA" }, { i16, i8, [1 x i8] } { i16 -21846, i8 -86, [1 x i8] c"\AA" }, { i16, 
i8, [1 x i8] } { i16 -21846, i8 -86, [1 x i8] c"\AA" }], align 16
+// PATTERN-O0: @__const.test_tailpad4_uninit.uninit = private unnamed_addr 
constant [4 x { i16, i8, [1 x i8] }] [{ i16, i8, [1 x i8] } { i16 [[I16]], i8 
[[I8]], [1 x i8] c"\[[IC]]" }, { i16, i8, [1 x i8] } { i16 [[I16]], i8 [[I8]], 
[1 x i8] c"\[[IC]]" }, { i16, i8, [1 x i8] } { i16 [[I16]], i8 [[I8]], [1 x i8] 
c"\[[IC]]" }, { i16, i8, [1 x i8] } { i16 [[I16]], i8 [[I8]], [1 x i8] 
c"\[[IC]]" }], align
 // PATTERN-O1-NOT: @__const.test_tailpad4_uninit.uninit
-// PATTERN: @__const.test_tailpad4_custom.custom = private unnamed_addr 
constant [4 x { i16, i8, [1 x i8] }] [{ i16, i8, [1 x i8] } { i16 257, i8 1, [1 
x i8] zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }], align 16
+// PATTERN:   @__const.test_tailpad4_custom.custom = private unnamed_addr 
constant [4 x { i16, i8, [1 x i8] }] [{ i16, i8, [1 x i8] } { i16 257, i8 1, [1 
x i8] zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }], align
 // ZERO: @__const.test_tailpad4_custom.custom = private unnamed_addr constant 
[4 x { i16, i8, [1 x i8] }] [{ i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }, { i16, i8, [1 x i8] } { i16 257, i8 1, [1 x i8] 
zeroinitializer }], align 16
-// PATTERN-I386: @__const.test_intptr4_custom.custom = private unnamed_addr 
constant [4 x i32*] [i32* inttoptr (i32 572662306 to i32*), i32* inttoptr (i32 
572662306 to i32*), i32* inttoptr (i32 572662306 to i32*), i32* inttoptr (i32 
572662306 to i32*)], align 4
 struct tailpad { short s; char c; };
-// PATTERN-O0: @__const.test_atomicnotlockfree_uninit.uninit = private 
unnamed_addr constant %struct.notlockfree { [4 x i64] [i64 
-6148914691236517206, i64 -6148914691236517206, i64 -6148914691236517206, i64 
-6148914691236517206] }, align 8
+// PATTERN-O0: @__const.test_atomicnotlockfree_uninit.uninit = private 
unnamed_addr constant %struct.notlockfree { [4 x i64] {{\[}}i64 [[I64]], i64 
[[I64]], i64 [[I64]], i64 [[I64]]] }, align
 // PATTERN-O1-NOT: @__const.test_atomicnotlockfree_uninit.uninit
 struct notlockfree { long long a[4]; };
-// PATTERN-O0: @__const.test_atomicpadded_uninit.uninit = private unnamed_addr 
constant { i8, [3 x i8], i32 } { i8 -86, [3 x i8] c"\AA\AA\AA", i32 -1431655766 
}, align 8
+// PATTERN-O0: @__const.test_atomicpadded_uninit.uninit = private unnamed_addr 
constant { i8, [3 x i8], i32 } { i8 [[I8]], [3 x i8] c"\[[IC]]\[[IC]]\[[IC]]", 
i32 [[I32]] }, align 8
 // PATTERN-O1-NOT: @__const.test_atomicpadded_uninit.uninit
-// PATTERN-O0: @__const.test_atomictailpad_uninit.uninit = private 
unnamed_addr constant { i16, i8, [1 x i8] } { i16 -21846, i8 -86, [1 x i8] 
c"\AA" }, align 4
+// PATTERN-O0: @__const.test_atomictailpad_uninit.uninit = private 
unnamed_addr constant { i16, i8, [1 x i8] } { i16 [[I16]], i8 [[I8]], [1 x i8] 
c"\[[IC]]" }, align 4
 // PATTERN-O1-NOT: @__const.test_atomictailpad_uninit.uninit
 // PATTERN-O0: @__const.test_complexfloat_uninit.uninit = private unnamed_addr 
constant { float, float } { float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000 
}, align 4
 // PATTERN-O1-NOT: @__const.test_complexfloat_uninit.uninit
@@ -166,38 +170,35 @@ struct notlockfree { long long a[4]; };
 // PATTERN-O1-NOT: @__const.test_complexdouble_braces.braces
 // PATTERN-O0: @__const.test_complexdouble_custom.custom = private 
unnamed_addr constant { double, double } { double 0xFFFFFFFFFFFFFFFF, double 
0xFFFFFFFFFFFFFFFF }, align 8
 // PATTERN-O1-NOT: @__const.test_complexdouble_custom.custom
-// PATTERN-O0: @__const.test_semivolatile_uninit.uninit = private unnamed_addr 
constant %struct.semivolatile { i32 -1431655766, i32 -1431655766 }, align 4
+// PATTERN-O0: @__const.test_semivolatile_uninit.uninit = private unnamed_addr 
constant %struct.semivolatile { i32 [[I32]], i32 [[I32]] }, align 4
 // PATTERN-O0: @__const.test_semivolatile_custom.custom = private unnamed_addr 
constant %struct.semivolatile { i32 1145324612, i32 1145324612 }, align 4
 // PATTERN-O1-NOT: @__const.test_semivolatile_custom.custom
 struct semivolatile { int i; volatile int vi; };
-// PATTERN-O0: @__const.test_semivolatileinit_uninit.uninit = private 
unnamed_addr constant %struct.semivolatileinit { i32 -1431655766, i32 
-1431655766 }, align 4
+// PATTERN-O0: @__const.test_semivolatileinit_uninit.uninit = private 
unnamed_addr constant %struct.semivolatileinit { i32 [[I32]], i32 [[I32]] }, 
align 4
 // PATTERN-O1-NOT: @__const.test_semivolatileinit_uninit.uninit
-// PATTERN-O0: @__const.test_semivolatileinit_braces.braces = private 
unnamed_addr constant %struct.semivolatileinit { i32 -1431655766, i32 
-1431655766 }, align 4
+// PATTERN-O0: @__const.test_semivolatileinit_braces.braces = private 
unnamed_addr constant %struct.semivolatileinit { i32 [[I32]], i32 [[I32]] }, 
align 4
 // PATTERN-O1-NOT: @__const.test_semivolatileinit_braces.braces
-// PATTERN-O0: @__const.test_semivolatileinit_custom.custom = private 
unnamed_addr constant %struct.semivolatileinit { i32 -1431655766, i32 
-1431655766 }, align 4
-// PATTERN-O1-NOT: @__const.test_semivolatileinit_custom.custom = private 
unnamed_addr constant %struct.semivolatileinit { i32 -1431655766, i32 
-1431655766 }, align 4
+// PATTERN-O0: @__const.test_semivolatileinit_custom.custom = private 
unnamed_addr constant %struct.semivolatileinit { i32 [[I32]], i32 [[I32]] }, 
align 4
+// PATTERN-O1-NOT: @__const.test_semivolatileinit_custom.custom = private 
unnamed_addr constant %struct.semivolatileinit { i32 [[I32]], i32 [[I32]] }, 
align 4
 // ZERO-O0: @__const.test_semivolatile_custom.custom = private unnamed_addr 
constant %struct.semivolatile { i32 1145324612, i32 1145324612 }, align 4
 // ZERO-O1-NOT: @__const.test_semivolatile_custom.custom
 struct semivolatileinit { int i = 0x11111111; volatile int vi = 0x11111111; };
-// PATTERN-O0: @__const.test_base_uninit.uninit = private unnamed_addr 
constant %struct.base { i32 (...)** inttoptr (i64 -6148914691236517206 to i32 
(...)**) }, align 8
+// PATTERN-O0: @__const.test_base_uninit.uninit = private unnamed_addr 
constant %struct.base { i32 (...)** inttoptr ([[IPTRT]] [[IPTR]] to i32 
(...)**) }, align
 // PATTERN-O1-NOT: @__const.test_base_uninit.uninit
-// PATTERN-O0: @__const.test_base_braces.braces = private unnamed_addr 
constant %struct.base { i32 (...)** inttoptr (i64 -6148914691236517206 to i32 
(...)**) }, align 8
+// PATTERN-O0: @__const.test_base_braces.braces = private unnamed_addr 
constant %struct.base { i32 (...)** inttoptr ([[IPTRT]] [[IPTR]] to i32 
(...)**) }, align
 // PATTERN-O1-NOT: @__const.test_base_braces.braces
-// PATTERN-I386: @__const.test_base_uninit.uninit = private unnamed_addr 
constant %struct.base { i32 (...)** inttoptr (i32 170 to i32 (...)**) }, align 4
 struct base { virtual ~base(); };
-// PATTERN-O0: @__const.test_derived_uninit.uninit = private unnamed_addr 
constant %struct.derived { %struct.base { i32 (...)** inttoptr (i64 
-6148914691236517206 to i32 (...)**) } }, align 8
+// PATTERN-O0: @__const.test_derived_uninit.uninit = private unnamed_addr 
constant %struct.derived { %struct.base { i32 (...)** inttoptr ([[IPTRT]] 
[[IPTR]] to i32 (...)**) } }, align
 // PATTERN-O1-NOT: @__const.test_derived_uninit.uninit
-// PATTERN-O0: @__const.test_derived_braces.braces = private unnamed_addr 
constant %struct.derived { %struct.base { i32 (...)** inttoptr (i64 
-6148914691236517206 to i32 (...)**) } }, align 8
+// PATTERN-O0: @__const.test_derived_braces.braces = private unnamed_addr 
constant %struct.derived { %struct.base { i32 (...)** inttoptr ([[IPTRT]] 
[[IPTR]] to i32 (...)**) } }, align
 // PATTERN-O1-NOT: @__const.test_derived_braces.braces
-// PATTERN-I386: @__const.test_derived_uninit.uninit = private unnamed_addr 
constant %struct.derived { %struct.base { i32 (...)** inttoptr (i32 170 to i32 
(...)**) } }, align 4
 struct derived : public base {};
-// PATTERN-O0: @__const.test_virtualderived_uninit.uninit = private 
unnamed_addr constant %struct.virtualderived { %struct.base { i32 (...)** 
inttoptr (i64 -6148914691236517206 to i32 (...)**) }, %struct.derived { 
%struct.base { i32 (...)** inttoptr (i64 -6148914691236517206 to i32 (...)**) } 
} }, align 8
+// PATTERN-O0: @__const.test_virtualderived_uninit.uninit = private 
unnamed_addr constant %struct.virtualderived { %struct.base { i32 (...)** 
inttoptr ([[IPTRT]] [[IPTR]] to i32 (...)**) }, %struct.derived { %struct.base 
{ i32 (...)** inttoptr ([[IPTRT]] [[IPTR]] to i32 (...)**) } } }, align
 // PATTERN-O1-NOT: @__const.test_virtualderived_uninit.uninit
-// PATTERN-O0: @__const.test_virtualderived_braces.braces = private 
unnamed_addr constant %struct.virtualderived { %struct.base { i32 (...)** 
inttoptr (i64 -6148914691236517206 to i32 (...)**) }, %struct.derived { 
%struct.base { i32 (...)** inttoptr (i64 -6148914691236517206 to i32 (...)**) } 
} }, align 8
+// PATTERN-O0: @__const.test_virtualderived_braces.braces = private 
unnamed_addr constant %struct.virtualderived { %struct.base { i32 (...)** 
inttoptr ([[IPTRT]] [[IPTR]] to i32 (...)**) }, %struct.derived { %struct.base 
{ i32 (...)** inttoptr ([[IPTRT]] [[IPTR]] to i32 (...)**) } } }, align
 // PATTERN-O1-NOT: @__const.test_virtualderived_braces.braces
-// PATTERN-I386: @__const.test_virtualderived_uninit.uninit = private 
unnamed_addr constant %struct.virtualderived { %struct.base { i32 (...)** 
inttoptr (i32 170 to i32 (...)**) }, %struct.derived { %struct.base { i32 
(...)** inttoptr (i32 170 to i32 (...)**) } } }, align 4
 struct virtualderived : public virtual base, public virtual derived {};
-// PATTERN-O0: @__const.test_matching_uninit.uninit = private unnamed_addr 
constant %union.matching { i32 -1431655766 }, align 4
+// PATTERN-O0: @__const.test_matching_uninit.uninit = private unnamed_addr 
constant %union.matching { i32 [[I32]] }, align 4
 // PATTERN-O1-NOT: @__const.test_matching_uninit.uninit
 // PATTERN-O0: @__const.test_matching_custom.custom = private unnamed_addr 
constant { float } { float 6.145500e+04 }, align 4
 // PATTERN-O1-NOT: @__const.test_matching_custom.custom
@@ -211,23 +212,23 @@ union matching { int i; float f; };
 // ZERO-O0: @__const.test_matchingreverse_custom.custom = private unnamed_addr 
constant { i32 } { i32 61455 }, align 4
 // ZERO-O1-NOT: @__const.test_matchingreverse_custom.custom
 union matchingreverse { float f; int i; };
-// PATTERN-O0: @__const.test_unmatched_uninit.uninit = private unnamed_addr 
constant %union.unmatched { i32 -1431655766 }, align 4
+// PATTERN-O0: @__const.test_unmatched_uninit.uninit = private unnamed_addr 
constant %union.unmatched { i32 [[I32]] }, align 4
 // PATTERN-O1-NOT: @__const.test_unmatched_uninit.uninit
 // PATTERN-O0: @__const.test_unmatched_custom.custom = private unnamed_addr 
constant %union.unmatched { i32 1001242351 }, align 4
 // PATTERN-O1-NOT: @__const.test_unmatched_custom.custom
 // ZERO-O0: @__const.test_unmatched_custom.custom = private unnamed_addr 
constant %union.unmatched { i32 1001242351 }, align 4
 // ZERO-O1-NOT: @__const.test_unmatched_custom.custom
 union unmatched { char c; int i; };
-// PATTERN-O0: @__const.test_unmatchedreverse_uninit.uninit = private 
unnamed_addr constant %union.unmatchedreverse { i32 -1431655766 }, align 4
+// PATTERN-O0: @__const.test_unmatchedreverse_uninit.uninit = private 
unnamed_addr constant %union.unmatchedreverse { i32 [[I32]] }, align 4
 // PATTERN-O1-NOT: @__const.test_unmatchedreverse_uninit.uninit
-// PATTERN-O0: @__const.test_unmatchedreverse_custom.custom = private 
unnamed_addr constant { i8, [3 x i8] } { i8 42, [3 x i8] c"\AA\AA\AA" }, align 4
+// PATTERN-O0: @__const.test_unmatchedreverse_custom.custom = private 
unnamed_addr constant { i8, [3 x i8] } { i8 42, [3 x i8] 
c"\[[IC]]\[[IC]]\[[IC]]" }, align 4
 // PATTERN-O1-NOT: @__const.test_unmatchedreverse_custom.custom
 // ZERO-O0: @__const.test_unmatchedreverse_custom.custom = private 
unnamed_addr constant { i8, [3 x i8] } { i8 42, [3 x i8] zeroinitializer }, 
align 4
 // ZERO-O1-NOT: @__const.test_unmatchedreverse_custom.custom
 union unmatchedreverse { int i; char c; };
-// PATTERN-O0: @__const.test_unmatchedfp_uninit.uninit = private unnamed_addr 
constant %union.unmatchedfp { double 0xFFFFFFFFFFFFFFFF }, align 8
+// PATTERN-O0: @__const.test_unmatchedfp_uninit.uninit = private unnamed_addr 
constant %union.unmatchedfp { double 0xFFFFFFFFFFFFFFFF }, align
 // PATTERN-O1-NOT: @__const.test_unmatchedfp_uninit.uninit
-// PATTERN-O0: @__const.test_unmatchedfp_custom.custom = private unnamed_addr 
constant %union.unmatchedfp { double 0x400921FB54442D18 }, align 8
+// PATTERN-O0: @__const.test_unmatchedfp_custom.custom = private unnamed_addr 
constant %union.unmatchedfp { double 0x400921FB54442D18 }, align
 // PATTERN-O1-NOT: @__const.test_unmatchedfp_custom.custom
 // ZERO-O0: @__const.test_unmatchedfp_custom.custom = private unnamed_addr 
constant %union.unmatchedfp { double 0x400921FB54442D18 }, align 8
 // ZERO-O1-NOT: @__const.test_unmatchedfp_custom.custom
@@ -242,7 +243,7 @@ TEST_UNINIT(char, char);
 // CHECK:       %uninit = alloca i8, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_char_uninit()
-// PATTERN: store i8 -86, i8* %uninit, align 1
+// PATTERN: store i8 [[I8]], i8* %uninit, align 1
 // ZERO-LABEL: @test_char_uninit()
 // ZERO: store i8 0, i8* %uninit, align 1
 
@@ -257,7 +258,7 @@ TEST_UNINIT(uchar, unsigned char);
 // CHECK:       %uninit = alloca i8, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_uchar_uninit()
-// PATTERN: store i8 -86, i8* %uninit, align 1
+// PATTERN: store i8 [[I8]], i8* %uninit, align 1
 // ZERO-LABEL: @test_uchar_uninit()
 // ZERO: store i8 0, i8* %uninit, align 1
 
@@ -272,7 +273,7 @@ TEST_UNINIT(schar, signed char);
 // CHECK:       %uninit = alloca i8, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_schar_uninit()
-// PATTERN: store i8 -86, i8* %uninit, align 1
+// PATTERN: store i8 [[I8]], i8* %uninit, align 1
 // ZERO-LABEL: @test_schar_uninit()
 // ZERO: store i8 0, i8* %uninit, align 1
 
@@ -287,7 +288,7 @@ TEST_UNINIT(wchar_t, wchar_t);
 // CHECK:       %uninit = alloca i32, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_wchar_t_uninit()
-// PATTERN: store i32 -1431655766, i32* %uninit, align
+// PATTERN: store i32 [[I32]], i32* %uninit, align
 // ZERO-LABEL: @test_wchar_t_uninit()
 // ZERO: store i32 0, i32* %uninit, align
 
@@ -302,7 +303,7 @@ TEST_UNINIT(short, short);
 // CHECK:       %uninit = alloca i16, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_short_uninit()
-// PATTERN: store i16 -21846, i16* %uninit, align
+// PATTERN: store i16 [[I16]], i16* %uninit, align
 // ZERO-LABEL: @test_short_uninit()
 // ZERO: store i16 0, i16* %uninit, align
 
@@ -317,7 +318,7 @@ TEST_UNINIT(ushort, unsigned short);
 // CHECK:       %uninit = alloca i16, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_ushort_uninit()
-// PATTERN: store i16 -21846, i16* %uninit, align
+// PATTERN: store i16 [[I16]], i16* %uninit, align
 // ZERO-LABEL: @test_ushort_uninit()
 // ZERO: store i16 0, i16* %uninit, align
 
@@ -332,7 +333,7 @@ TEST_UNINIT(int, int);
 // CHECK:       %uninit = alloca i32, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_int_uninit()
-// PATTERN: store i32 -1431655766, i32* %uninit, align
+// PATTERN: store i32 [[I32]], i32* %uninit, align
 // ZERO-LABEL: @test_int_uninit()
 // ZERO: store i32 0, i32* %uninit, align
 
@@ -347,7 +348,7 @@ TEST_UNINIT(unsigned, unsigned);
 // CHECK:       %uninit = alloca i32, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_unsigned_uninit()
-// PATTERN: store i32 -1431655766, i32* %uninit, align
+// PATTERN: store i32 [[I32]], i32* %uninit, align
 // ZERO-LABEL: @test_unsigned_uninit()
 // ZERO: store i32 0, i32* %uninit, align
 
@@ -362,7 +363,7 @@ TEST_UNINIT(long, long);
 // CHECK:       %uninit = alloca i64, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_long_uninit()
-// PATTERN: store i64 -6148914691236517206, i64* %uninit, align
+// PATTERN: store [[ILONGT]] [[ILONG]], [[ILONGT]]* %uninit, align
 // ZERO-LABEL: @test_long_uninit()
 // ZERO: store i64 0, i64* %uninit, align
 
@@ -377,7 +378,7 @@ TEST_UNINIT(ulong, unsigned long);
 // CHECK:       %uninit = alloca i64, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_ulong_uninit()
-// PATTERN: store i64 -6148914691236517206, i64* %uninit, align
+// PATTERN: store [[ILONGT]] [[ILONG]], [[ILONGT]]* %uninit, align
 // ZERO-LABEL: @test_ulong_uninit()
 // ZERO: store i64 0, i64* %uninit, align
 
@@ -392,7 +393,7 @@ TEST_UNINIT(longlong, long long);
 // CHECK:       %uninit = alloca i64, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_longlong_uninit()
-// PATTERN: store i64 -6148914691236517206, i64* %uninit, align
+// PATTERN: store i64 [[I64]], i64* %uninit, align
 // ZERO-LABEL: @test_longlong_uninit()
 // ZERO: store i64 0, i64* %uninit, align
 
@@ -407,7 +408,7 @@ TEST_UNINIT(ulonglong, unsigned long lon
 // CHECK:       %uninit = alloca i64, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_ulonglong_uninit()
-// PATTERN: store i64 -6148914691236517206, i64* %uninit, align
+// PATTERN: store i64 [[I64]], i64* %uninit, align
 // ZERO-LABEL: @test_ulonglong_uninit()
 // ZERO: store i64 0, i64* %uninit, align
 
@@ -417,13 +418,12 @@ TEST_BRACES(ulonglong, unsigned long lon
 // CHECK-NEXT:  store i64 0, i64* %braces, align [[ALIGN]]
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%braces)
 
-#ifdef __SIZEOF_INT128__
 TEST_UNINIT(int128, __int128);
 // CHECK-LABEL: @test_int128_uninit()
 // CHECK:       %uninit = alloca i128, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_int128_uninit()
-// PATTERN: store i128 -113427455640312821154458202477256070486, i128* 
%uninit, align
+// PATTERN: store [[I128T]] [[I128]], [[I128T]]* %uninit, align
 // ZERO-LABEL: @test_int128_uninit()
 // ZERO: store i128 0, i128* %uninit, align
 
@@ -438,7 +438,7 @@ TEST_UNINIT(uint128, unsigned __int128);
 // CHECK:       %uninit = alloca i128, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_uint128_uninit()
-// PATTERN: store i128 -113427455640312821154458202477256070486, i128* 
%uninit, align
+// PATTERN: store [[I128T]] [[I128]], [[I128T]]* %uninit, align
 // ZERO-LABEL: @test_uint128_uninit()
 // ZERO: store i128 0, i128* %uninit, align
 
@@ -447,8 +447,6 @@ TEST_BRACES(uint128, unsigned __int128);
 // CHECK:       %braces = alloca i128, align [[ALIGN:[0-9]*]]
 // CHECK-NEXT:  store i128 0, i128* %braces, align [[ALIGN]]
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%braces)
-#endif
-
 
 TEST_UNINIT(fp16, __fp16);
 // CHECK-LABEL: @test_fp16_uninit()
@@ -516,11 +514,9 @@ TEST_UNINIT(intptr, int*);
 // CHECK:       %uninit = alloca i32*, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_intptr_uninit()
-// PATTERN: store i32* inttoptr (i64 -6148914691236517206 to i32*), i32** 
%uninit, align
+// PATTERN: store i32* inttoptr ([[IPTRT]] [[IPTR]] to i32*), i32** %uninit, 
align
 // ZERO-LABEL: @test_intptr_uninit()
 // ZERO: store i32* null, i32** %uninit, align
-// PATTERN-I386-LABEL: @test_intptr_uninit()
-// PATTERN-I386: store i32* inttoptr (i32 170 to i32*), i32** %uninit, align 4
 
 TEST_BRACES(intptr, int*);
 // CHECK-LABEL: @test_intptr_braces()
@@ -533,11 +529,9 @@ TEST_UNINIT(intptrptr, int**);
 // CHECK:       %uninit = alloca i32**, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_intptrptr_uninit()
-// PATTERN: store i32** inttoptr (i64 -6148914691236517206 to i32**), i32*** 
%uninit, align
+// PATTERN: store i32** inttoptr ([[IPTRT]] [[IPTR]] to i32**), i32*** 
%uninit, align
 // ZERO-LABEL: @test_intptrptr_uninit()
 // ZERO: store i32** null, i32*** %uninit, align
-// PATTERN-I386-LABEL: @test_intptrptr_uninit()
-// PATTERN-I386: store i32** inttoptr (i32 170 to i32**), i32*** %uninit, 
align 4
 
 TEST_BRACES(intptrptr, int**);
 // CHECK-LABEL: @test_intptrptr_braces()
@@ -550,11 +544,9 @@ TEST_UNINIT(function, void(*)());
 // CHECK:       %uninit = alloca void ()*, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_function_uninit()
-// PATTERN: store void ()* inttoptr (i64 -6148914691236517206 to void ()*), 
void ()** %uninit, align
+// PATTERN: store void ()* inttoptr ([[IPTRT]] [[IPTR]] to void ()*), void 
()** %uninit, align
 // ZERO-LABEL: @test_function_uninit()
 // ZERO: store void ()* null, void ()** %uninit, align
-// PATTERN-I386-LABEL: @test_function_uninit()
-// PATTERN-I386: store void ()* inttoptr (i32 170 to void ()*), void ()** 
%uninit, align 4
 
 TEST_BRACES(function, void(*)());
 // CHECK-LABEL: @test_function_braces()
@@ -567,7 +559,7 @@ TEST_UNINIT(bool, bool);
 // CHECK:       %uninit = alloca i8, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_bool_uninit()
-// PATTERN: store i8 -86, i8* %uninit, align 1
+// PATTERN: store i8 [[I8]], i8* %uninit, align 1
 // ZERO-LABEL: @test_bool_uninit()
 // ZERO: store i8 0, i8* %uninit, align 1
 
@@ -584,7 +576,7 @@ TEST_UNINIT(empty, empty);
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_empty_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_empty_uninit.uninit
-// PATTERN-O1: store i8 -86, {{.*}} align 1
+// PATTERN-O1: store i8 [[I8]], {{.*}} align 1
 // ZERO-LABEL: @test_empty_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i8 0, {{.*}} align 1
@@ -602,7 +594,7 @@ TEST_UNINIT(small, small);
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_small_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_small_uninit.uninit
-// PATTERN-O1: store i8 -86, {{.*}} align 1
+// PATTERN-O1: store i8 [[I8]], {{.*}} align 1
 // ZERO-LABEL: @test_small_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i8 0, {{.*}} align 1
@@ -648,7 +640,7 @@ TEST_UNINIT(smallpartinit, smallpartinit
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_smallpartinit_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_smallpartinit_uninit.uninit
-// PATTERN-O1: store i8 -86, {{.*}} align 1
+// PATTERN-O1: store i8 [[I8]], {{.*}} align 1
 // PATTERN-O1: store i8 42, {{.*}} align 1
 // ZERO-LABEL: @test_smallpartinit_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
@@ -699,7 +691,7 @@ TEST_UNINIT(padded, padded);
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_padded_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_padded_uninit.uninit
-// PATTERN-O1: store i64 -6148914691236517206, i64* %uninit, align 8
+// PATTERN-O1: store i64 [[I64]], i64* %uninit, align 8
 // ZERO-LABEL: @test_padded_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i64 0, i64* %uninit, align 8
@@ -725,7 +717,7 @@ TEST_UNINIT(paddednullinit, paddednullin
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_paddednullinit_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_paddednullinit_uninit.uninit
-// PATTERN-O1-LEGACY: store i64 -6148914691236517206, i64* %uninit, align 8
+// PATTERN-O1-LEGACY: store i64 [[I64]], i64* %uninit, align 8
 // PATTERN-O1-NEWPM: store i64 2863311360, i64* %uninit, align 8
 // ZERO-LABEL: @test_paddednullinit_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
@@ -756,9 +748,9 @@ TEST_UNINIT(paddedpacked, paddedpacked);
 // PATTERN-LABEL: @test_paddedpacked_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_paddedpacked_uninit.uninit
 // PATTERN-O1:  %[[C:[^ ]*]] = getelementptr inbounds {{.*}}%uninit, i64 0, 
i32 0
-// PATTERN-O1  store i8 -86, i8* %[[C]], align
+// PATTERN-O1  store i8 [[I8]], i8* %[[C]], align
 // PATTERN-O1:  %[[I:[^ ]*]] = getelementptr inbounds {{.*}}%uninit, i64 0, 
i32 1
-// PATTERN-O1: store i32 -1431655766, i32* %[[I]], align
+// PATTERN-O1: store i32 [[I32]], i32* %[[I]], align
 
 // ZERO-LABEL: @test_paddedpacked_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
@@ -784,7 +776,7 @@ TEST_UNINIT(paddedpackedarray, paddedpac
 // PATTERN-LABEL: @test_paddedpackedarray_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_paddedpackedarray_uninit.uninit
 // PATTERN-O1: getelementptr
-// PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}i8 -86, i64 10
+// PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}i8 [[I8]], i64 10
 // ZERO-LABEL: @test_paddedpackedarray_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
 
@@ -803,8 +795,8 @@ TEST_CUSTOM(paddedpackedarray, paddedpac
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%custom)
 
 TEST_UNINIT(unpackedinpacked, unpackedinpacked);
-// CHECK-LABEL: @test_unpackedinpacked_uninit()
-// PATTERN-O0:  call void @llvm.memcpy{{.*}}, i64 9, i1 false)
+// PATTERN-LABEL: @test_unpackedinpacked_uninit()
+// PATTERN-O0: call void @llvm.memcpy{{.*}} 9, i1 false)
 
 TEST_UNINIT(paddednested, paddednested);
 // CHECK-LABEL: @test_paddednested_uninit()
@@ -813,7 +805,7 @@ TEST_UNINIT(paddednested, paddednested);
 // PATTERN-LABEL: @test_paddednested_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_paddednested_uninit.uninit
 // PATTERN-O1: getelementptr
-// PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}, i8 -86, i64 16
+// PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}, i8 [[I8]], i64 16
 // ZERO-LABEL: @test_paddednested_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
 
@@ -838,7 +830,7 @@ TEST_UNINIT(paddedpackednested, paddedpa
 // PATTERN-LABEL: @test_paddedpackednested_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_paddedpackednested_uninit.uninit
 // PATTERN-O1: getelementptr
-// PATTERN-O1: call void @llvm.memset.p0i8.i64(i8* nonnull align 1 %0, i8 -86, 
i64 10, i1 false
+// PATTERN-O1: call void @llvm.memset.p0i8.i64(i8* nonnull align 1 %0, i8 
[[I8]], i64 10, i1 false
 // ZERO-LABEL: @test_paddedpackednested_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
 
@@ -862,7 +854,7 @@ TEST_UNINIT(bitfield, bitfield);
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_bitfield_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_bitfield_uninit.uninit
-// PATTERN-O1: store i32 -1431655766, i32* %uninit, align 4
+// PATTERN-O1: store i32 [[I32]], i32* %uninit, align 4
 // ZERO-LABEL: @test_bitfield_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i32 0, i32* %uninit, align 4
@@ -887,7 +879,7 @@ TEST_UNINIT(bitfieldaligned, bitfieldali
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_bitfieldaligned_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_bitfieldaligned_uninit.uninit
-// PATTERN-O1: store i64 -6148914691236517206, i64* %uninit, align 8
+// PATTERN-O1: store i64 [[IPTR]], i64* %uninit, align 8
 // ZERO-LABEL: @test_bitfieldaligned_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i64 0, i64* %uninit, align 8
@@ -911,7 +903,7 @@ TEST_UNINIT(big, big);
 // CHECK:       %uninit = alloca %struct.big, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_big_uninit()
-// PATTERN: call void @llvm.memset{{.*}}, i8 -86,
+// PATTERN: call void @llvm.memset{{.*}}, i8 [[I8]],
 // ZERO-LABEL: @test_big_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
 
@@ -935,7 +927,7 @@ TEST_UNINIT(arraytail, arraytail);
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_arraytail_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_arraytail_uninit.uninit
-// PATTERN-O1: store i32 -1431655766, {{.*}} align 4
+// PATTERN-O1: store i32 [[I32]], {{.*}} align 4
 // ZERO-LABEL: @test_arraytail_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i32 0, {{.*}} align 4
@@ -978,7 +970,7 @@ TEST_UNINIT(int1, int[1]);
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_int1_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_int1_uninit.uninit
-// PATTERN-O1: store i32 -1431655766, {{.*}} align 4
+// PATTERN-O1: store i32 [[I32]], {{.*}} align 4
 // ZERO-LABEL: @test_int1_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i32 0, {{.*}} align 4
@@ -1002,7 +994,7 @@ TEST_UNINIT(int64, int[64]);
 // CHECK:       %uninit = alloca [64 x i32], align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_int64_uninit()
-// PATTERN: call void @llvm.memset{{.*}}, i8 -86,
+// PATTERN: call void @llvm.memset{{.*}}, i8 [[I8]],
 // ZERO-LABEL: @test_int64_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
 
@@ -1026,7 +1018,7 @@ TEST_UNINIT(bool4, bool[4]);
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_bool4_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_bool4_uninit.uninit
-// PATTERN-O1: store i32 -1431655766, i32* %uninit, align 4
+// PATTERN-O1: store i32 [[I32]], i32* %uninit, align 4
 // ZERO-LABEL: @test_bool4_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i32 0, i32* %uninit, align 4
@@ -1082,7 +1074,7 @@ TEST_UNINIT(tailpad4, tailpad[4]);
 // PATTERN-LABEL: @test_tailpad4_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_tailpad4_uninit.uninit
 // PATTERN-O1: bitcast
-// PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}0, i8 -86, i64 16
+// PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}0, i8 [[I8]], i64 16
 // ZERO-LABEL: @test_tailpad4_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
 
@@ -1105,7 +1097,7 @@ TEST_UNINIT(tailpad9, tailpad[9]);
 // CHECK:       %uninit = alloca [9 x %struct.tailpad], align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_tailpad9_uninit()
-// PATTERN-O0: call void @llvm.memset{{.*}}, i8 -86,
+// PATTERN-O0: call void @llvm.memset{{.*}}, i8 [[I8]],
 // ZERO-LABEL: @test_tailpad9_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
 
@@ -1129,7 +1121,7 @@ TEST_UNINIT(atomicbool, _Atomic(bool));
 // CHECK:       %uninit = alloca i8, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_atomicbool_uninit()
-// PATTERN: store i8 -86, i8* %uninit, align 1
+// PATTERN: store i8 [[I8]], i8* %uninit, align 1
 // ZERO-LABEL: @test_atomicbool_uninit()
 // ZERO: store i8 0, i8* %uninit, align 1
 
@@ -1138,7 +1130,7 @@ TEST_UNINIT(atomicint, _Atomic(int));
 // CHECK:       %uninit = alloca i32, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_atomicint_uninit()
-// PATTERN: store i32 -1431655766, i32* %uninit, align 4
+// PATTERN: store i32 [[I32]], i32* %uninit, align 4
 // ZERO-LABEL: @test_atomicint_uninit()
 // ZERO: store i32 0, i32* %uninit, align 4
 
@@ -1158,7 +1150,7 @@ TEST_UNINIT(atomicnotlockfree, _Atomic(n
 // PATTERN-LABEL: @test_atomicnotlockfree_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_atomicnotlockfree_uninit.uninit
 // PATTERN-O1: bitcast
-// PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}, i8 -86, i64 32
+// PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}, i8 [[I8]], i64 32
 // ZERO-LABEL: @test_atomicnotlockfree_uninit()
 // ZERO: call void @llvm.memset{{.*}}, i8 0,
 
@@ -1168,7 +1160,7 @@ TEST_UNINIT(atomicpadded, _Atomic(padded
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_atomicpadded_uninit()
 // PATTERN-O0: call void @llvm.memcpy{{.*}} 
@__const.test_atomicpadded_uninit.uninit
-// PATTERN-O1: store i64 -6148914691236517206, i64* %uninit, align 8
+// PATTERN-O1: store i64 [[IPTR]], i64* %uninit, align 8
 // ZERO-LABEL: @test_atomicpadded_uninit()
 // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
 // ZERO-O1: store i64 0, i64* %uninit, align 8
@@ -1249,7 +1241,7 @@ TEST_UNINIT(volatileint, volatile int);
 // CHECK:       %uninit = alloca i32, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_volatileint_uninit()
-// PATTERN: store volatile i32 -1431655766, i32* %uninit, align 4
+// PATTERN: store volatile i32 [[I32]], i32* %uninit, align 4
 // ZERO-LABEL: @test_volatileint_uninit()
 // ZERO: store volatile i32 0, i32* %uninit, align 4
 
@@ -1506,7 +1498,7 @@ TEST_UNINIT(emptyenum, emptyenum);
 // CHECK:       %uninit = alloca i32, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_emptyenum_uninit()
-// PATTERN: store i32 -1431655766, i32* %uninit, align 4
+// PATTERN: store i32 [[I32]], i32* %uninit, align 4
 // ZERO-LABEL: @test_emptyenum_uninit()
 // ZERO: store i32 0, i32* %uninit, align 4
 
@@ -1527,7 +1519,7 @@ TEST_UNINIT(smallenum, smallenum);
 // CHECK:       %uninit = alloca i32, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_smallenum_uninit()
-// PATTERN: store i32 -1431655766, i32* %uninit, align 4
+// PATTERN: store i32 [[I32]], i32* %uninit, align 4
 // ZERO-LABEL: @test_smallenum_uninit()
 // ZERO: store i32 0, i32* %uninit, align 4
 
@@ -1549,7 +1541,7 @@ TEST_UNINIT(intvec16, int  __attribute__
 // CHECK:       %uninit = alloca <4 x i32>, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_intvec16_uninit()
-// PATTERN: store <4 x i32> <i32 -1431655766, i32 -1431655766, i32 
-1431655766, i32 -1431655766>, <4 x i32>* %uninit, align 16
+// PATTERN: store <4 x i32> <i32 [[I32]], i32 [[I32]], i32 [[I32]], i32 
[[I32]]>, <4 x i32>* %uninit, align 16
 // ZERO-LABEL: @test_intvec16_uninit()
 // ZERO: store <4 x i32> zeroinitializer, <4 x i32>* %uninit, align 16
 
@@ -1570,7 +1562,7 @@ TEST_UNINIT(longlongvec32, long long  __
 // CHECK:       %uninit = alloca <4 x i64>, align
 // CHECK-NEXT:  call void @{{.*}}used{{.*}}%uninit)
 // PATTERN-LABEL: @test_longlongvec32_uninit()
-// PATTERN: store <4 x i64> <i64 -6148914691236517206, i64 
-6148914691236517206, i64 -6148914691236517206, i64 -6148914691236517206>, <4 x 
i64>* %uninit, align 32
+// PATTERN: store <4 x i64> <i64 [[I64]], i64 [[I64]], i64 [[I64]], i64 
[[I64]]>, <4 x i64>* %uninit, align 32
 // ZERO-LABEL: @test_longlongvec32_uninit()
 // ZERO: store <4 x i64> zeroinitializer, <4 x i64>* %uninit, align 32
 


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to