aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/aniso.c5
-rw-r--r--tests/aniso.pngbin35041 -> 26812 bytes
-rw-r--r--tests/bullet/output3.txt270
-rw-r--r--tests/cases/atomicrmw.ll1
-rw-r--r--tests/cases/breakinthemiddle2.ll35
-rw-r--r--tests/cases/callalias.ll21
-rw-r--r--tests/cases/callalias2.ll22
-rw-r--r--tests/cases/cmpxchg_volatile.ll548
-rw-r--r--tests/cases/emptystruct.ll2
-rw-r--r--tests/cases/gepoverflow.ll2
-rw-r--r--tests/cases/inttoptrfloat.ll20
-rw-r--r--tests/cases/invokeundef.ll41
-rw-r--r--tests/cases/longjmp_tiny_noasm_invoke.ll71
-rw-r--r--tests/cases/longjmp_tiny_noasm_invoke.txt2
-rw-r--r--tests/cases/storestruct.ll8
-rw-r--r--tests/cases/udiv.ll19
-rw-r--r--tests/cubegeom.c18
-rw-r--r--tests/cubegeom_pre2_vao.c380
-rw-r--r--tests/cubegeom_pre2_vao2.c381
-rw-r--r--tests/cubegeom_pre_vao.c333
-rw-r--r--tests/dlmalloc_test.c4
-rw-r--r--tests/float_tex.pngbin19944 -> 18869 bytes
-rw-r--r--tests/fuzz/1.c117
-rw-r--r--tests/fuzz/1.c.txt1
-rw-r--r--tests/fuzz/2.c2006
-rw-r--r--tests/fuzz/2.c.txt1
-rw-r--r--tests/fuzz/3.c1043
-rw-r--r--tests/fuzz/3.c.txt1
-rw-r--r--tests/fuzz/4.c216
-rw-r--r--tests/fuzz/4.c.txt1
-rw-r--r--tests/fuzz/5.c13
-rw-r--r--tests/fuzz/5.c.txt101
-rw-r--r--tests/fuzz/7.c852
-rw-r--r--tests/fuzz/7.c.txt1
-rw-r--r--tests/fuzz/8.c2214
-rw-r--r--tests/fuzz/8.c.txt1
-rwxr-xr-xtests/fuzz/creduce_tester.py53
-rw-r--r--tests/fuzz/csmith.h130
-rwxr-xr-xtests/fuzz/csmith_driver.py122
-rw-r--r--tests/fuzz/platform_generic.h132
-rw-r--r--tests/fuzz/random_inc.h129
-rw-r--r--tests/fuzz/safe_math.h947
-rw-r--r--tests/gears.pngbin7832 -> 6407 bytes
-rw-r--r--tests/gl_ps.c3
-rw-r--r--tests/gl_ps.pngbin203535 -> 202598 bytes
-rw-r--r--tests/gl_ps_packed.c230
-rw-r--r--tests/gl_ps_workaround.c230
-rw-r--r--tests/gl_ps_workaround2.c230
-rw-r--r--tests/glbook/CH13_ParticleSystem.pngbin5106 -> 4921 bytes
-rw-r--r--tests/glbook/Chapter_13/ParticleSystem/ParticleSystem_orig.c48
-rw-r--r--tests/glbook/Chapter_2/Hello_Triangle/Hello_Triangle_orig.c2
-rw-r--r--tests/glbook/Chapter_9/TextureWrap/TextureWrap_orig.c2
-rw-r--r--tests/hello_libcxx_mod2.cpp10
-rw-r--r--tests/hello_libcxx_mod2a.cpp11
-rw-r--r--tests/hello_world_gles_full.c742
-rw-r--r--tests/perspective.c408
-rw-r--r--tests/perspective.pngbin0 -> 2477 bytes
-rwxr-xr-xtests/runner.py935
-rw-r--r--tests/s3tc_crunch.pngbin353677 -> 271258 bytes
-rw-r--r--tests/screenshot-fog-density.pngbin154012 -> 157048 bytes
-rw-r--r--tests/screenshot-fog-exp2.pngbin119847 -> 122164 bytes
-rw-r--r--tests/screenshot-fog-linear.pngbin247928 -> 250343 bytes
-rw-r--r--tests/screenshot-fog-negative.pngbin79537 -> 80704 bytes
-rw-r--r--tests/screenshot-fog-simple.pngbin36557 -> 37940 bytes
-rw-r--r--tests/screenshot-gray-purple.pngbin242425 -> 241235 bytes
-rw-r--r--tests/screenshot-gray.pngbin203336 -> 202044 bytes
-rw-r--r--tests/sdl_audio.c20
-rw-r--r--tests/sdl_gl_read.c9
-rw-r--r--tests/sdl_image_jpeg.c45
-rw-r--r--tests/sdl_text.c40
-rw-r--r--tests/websockets.c7
71 files changed, 13057 insertions, 179 deletions
diff --git a/tests/aniso.c b/tests/aniso.c
index e673e228..e02c20ac 100644
--- a/tests/aniso.c
+++ b/tests/aniso.c
@@ -145,6 +145,11 @@ int main(int argc, char *argv[])
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, aniso);
}
+ {
+ assert(!glGetError());
+ glBindFramebuffer(GL_RENDERBUFFER, 0);
+ assert(glGetError());
+ }
// Prepare and Render
diff --git a/tests/aniso.png b/tests/aniso.png
index 5f5812d2..2bcb2f5f 100644
--- a/tests/aniso.png
+++ b/tests/aniso.png
Binary files differ
diff --git a/tests/bullet/output3.txt b/tests/bullet/output3.txt
new file mode 100644
index 00000000..78f27f9f
--- /dev/null
+++ b/tests/bullet/output3.txt
@@ -0,0 +1,270 @@
+world pos = 2.00,10.00,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.99,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.98,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.97,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.96,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.94,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.92,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.90,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.88,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.85,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.82,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.78,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.75,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.71,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.67,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.62,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.57,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.52,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.47,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.42,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.36,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.30,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.23,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.17,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.10,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,9.02,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.95,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.87,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.79,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.71,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.62,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.53,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.44,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.35,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.25,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.15,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,8.05,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.94,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.83,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.72,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.61,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.49,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.37,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.25,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.13,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,7.00,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,6.87,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,6.73,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,6.60,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,6.46,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,6.32,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,6.17,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,6.03,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,5.88,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,5.72,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,5.57,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,5.41,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,5.25,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,5.08,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,4.92,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,4.75,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,4.58,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,4.40,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,4.22,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,4.04,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,3.86,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,3.67,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,3.48,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,3.29,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,3.10,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,2.90,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,2.70,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,2.50,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,2.29,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,2.08,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,1.87,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,1.66,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,1.44,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,1.22,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,1.00,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,0.77,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,0.55,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,0.32,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,0.08,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-0.15,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-0.39,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-0.63,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-0.88,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-1.13,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-1.38,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-1.63,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-1.88,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-2.14,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-2.40,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-2.67,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-2.93,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-3.20,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-3.48,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-3.75,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.03,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.31,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.59,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.88,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.17,0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.13,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.10,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.08,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.05,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.03,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.01,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.99,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.98,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.97,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.96,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.95,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.95,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.95,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.95,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.96,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.97,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.98,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-4.99,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
+world pos = 2.00,-5.00,-0.00
+world pos = 0.00,-56.00,0.00
diff --git a/tests/cases/atomicrmw.ll b/tests/cases/atomicrmw.ll
index 2f5a4224..fe479dce 100644
--- a/tests/cases/atomicrmw.ll
+++ b/tests/cases/atomicrmw.ll
@@ -13,6 +13,7 @@ entry:
%1 = atomicrmw add i32* %t, i32 3 seq_cst, ; [#uses=0 type=i32] [debug line = 21:12]
%2 = load i32* %t
%call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([15 x i8]* @.str, i32 0, i32 0), i32 %0, i32 %2) ; [#uses=0 type=i32]
+ %3 = atomicrmw volatile add i32* %t, i32 3 seq_cst, ; [#uses=0 type=i32] [debug line = 21:12]
ret i32 1
}
diff --git a/tests/cases/breakinthemiddle2.ll b/tests/cases/breakinthemiddle2.ll
new file mode 100644
index 00000000..318b49dc
--- /dev/null
+++ b/tests/cases/breakinthemiddle2.ll
@@ -0,0 +1,35 @@
+@.str = private constant [15 x i8] c"hello, world!\0A\00", align 1 ; [#uses=1]
+
+define linkonce_odr i32 @main() align 2 {
+ %333 = call i32 @printf(i8* getelementptr inbounds ([15 x i8]* @.str, i32 0, i32 0)) ; [#uses=0]
+ %199 = trunc i8 1 to i1 ; [#uses=1]
+ br i1 %199, label %label555, label %label569
+
+label555: ; preds = %0
+ br label %label569 ; branch should ignore all code after it in the block
+ ; No predecessors!
+ %a472 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+ cleanup
+ %a473 = extractvalue { i8*, i32 } %a472, 0
+ %a474 = extractvalue { i8*, i32 } %a472, 1
+ br label %label569
+
+label569: ; preds = %0
+ br i1 %199, label %label990, label %label999
+
+label990:
+ ret i32 0 ; ret should ignore all code after it in the block
+ ; No predecessors!
+ %a472 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+ cleanup
+ %a473 = extractvalue { i8*, i32 } %a472, 0
+ %a474 = extractvalue { i8*, i32 } %a472, 1
+ br label %label569
+
+label999: ; preds = %555
+ ret i32 0
+}
+
+declare i32 @printf(i8*)
+declare i32 @__gxx_personality_v0(...)
+
diff --git a/tests/cases/callalias.ll b/tests/cases/callalias.ll
new file mode 100644
index 00000000..9bc1ffd0
--- /dev/null
+++ b/tests/cases/callalias.ll
@@ -0,0 +1,21 @@
+; ModuleID = 'tests/hello_world.bc'
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
+target triple = "i386-pc-linux-gnu"
+
+@.str = private unnamed_addr constant [15 x i8] c"hello, world!\0A\00", align 1 ; [#uses=1 type=[15 x i8]*]
+
+@othername = alias internal void ()* @doit
+
+define internal void @doit() unnamed_addr nounwind align 2 {
+ %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([15 x i8]* @.str, i32 0, i32 0)) ; [#uses=0 type=i32]
+ ret void
+}
+
+define i32 @main() {
+entry:
+ tail call void ()* @othername() nounwind
+ ret i32 1
+}
+
+declare i32 @printf(i8*, ...)
+
diff --git a/tests/cases/callalias2.ll b/tests/cases/callalias2.ll
new file mode 100644
index 00000000..abdbe4e6
--- /dev/null
+++ b/tests/cases/callalias2.ll
@@ -0,0 +1,22 @@
+; ModuleID = 'tests/hello_world.bc'
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
+target triple = "i386-pc-linux-gnu"
+
+@.str = private unnamed_addr constant [15 x i8] c"hello, world!\0A\00", align 1 ; [#uses=1 type=[15 x i8]*]
+
+@othername = alias internal void ()* @doit
+@othername2 = alias internal void ()* @othername
+
+define internal void @doit() unnamed_addr nounwind align 2 {
+ %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([15 x i8]* @.str, i32 0, i32 0)) ; [#uses=0 type=i32]
+ ret void
+}
+
+define i32 @main() {
+entry:
+ tail call void ()* @othername2() nounwind
+ ret i32 1
+}
+
+declare i32 @printf(i8*, ...)
+
diff --git a/tests/cases/cmpxchg_volatile.ll b/tests/cases/cmpxchg_volatile.ll
new file mode 100644
index 00000000..019fd833
--- /dev/null
+++ b/tests/cases/cmpxchg_volatile.ll
@@ -0,0 +1,548 @@
+; ModuleID = 'ta2.bc'
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
+target triple = "i386-pc-linux-gnu"
+
+%"struct.std::__1::__atomic_base.0" = type { i8 }
+%"struct.std::__1::__atomic_base" = type { %"struct.std::__1::__atomic_base.0" }
+%"struct.std::__1::atomic" = type { %"struct.std::__1::__atomic_base" }
+
+@.str = private unnamed_addr constant [8 x i8] c"ta2.cpp\00", align 1
+@__PRETTY_FUNCTION__._Z7do_testIVNSt3__16atomicIcEEcEvv = private unnamed_addr constant [63 x i8] c"void do_test() [A = volatile std::__1::atomic<char>, T = char]\00", align 1
+@.str1 = private unnamed_addr constant [43 x i8] c"obj.compare_exchange_weak(x, T(2)) == true\00", align 1
+@.str2 = private unnamed_addr constant [12 x i8] c"obj == T(2)\00", align 1
+@.str3 = private unnamed_addr constant [10 x i8] c"x == T(3)\00", align 1
+@.str4 = private unnamed_addr constant [44 x i8] c"obj.compare_exchange_weak(x, T(1)) == false\00", align 1
+@.str5 = private unnamed_addr constant [10 x i8] c"x == T(2)\00", align 1
+@.str6 = private unnamed_addr constant [45 x i8] c"obj.compare_exchange_strong(x, T(1)) == true\00", align 1
+@.str7 = private unnamed_addr constant [12 x i8] c"obj == T(1)\00", align 1
+@.str8 = private unnamed_addr constant [15 x i8] c"hello, world!\0A\00", align 1 ; [#uses=1 type=[15 x i8]*]
+
+define i32 @main() ssp {
+entry:
+ %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([15 x i8]* @.str8, i32 0, i32 0)) ; [#uses=0 type=i32]
+ call void @_Z4testIVNSt3__16atomicIcEEcEvv()
+ ret i32 0
+}
+
+define linkonce_odr void @_Z4testIVNSt3__16atomicIcEEcEvv() ssp {
+entry:
+ call void @_Z7do_testIVNSt3__16atomicIcEEcEvv()
+ call void @_Z7do_testIVNSt3__16atomicIcEEcEvv()
+ ret void
+}
+
+define linkonce_odr void @_Z7do_testIVNSt3__16atomicIcEEcEvv() ssp {
+entry:
+ %this.addr.i.i110 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %__m.addr.i.i111 = alloca i32, align 4
+ %.atomicdst.i.i112 = alloca i8, align 1
+ %this.addr.i113 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %this.addr.i90 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %__e.addr.i91 = alloca i8*, align 4
+ %__d.addr.i92 = alloca i8, align 1
+ %__m.addr.i93 = alloca i32, align 4
+ %.atomictmp.i94 = alloca i8, align 1
+ %.atomicdst.i95 = alloca i8, align 1
+ %this.addr.i.i79 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %__m.addr.i.i80 = alloca i32, align 4
+ %.atomicdst.i.i81 = alloca i8, align 1
+ %this.addr.i82 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %this.addr.i60 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %__e.addr.i61 = alloca i8*, align 4
+ %__d.addr.i62 = alloca i8, align 1
+ %__m.addr.i63 = alloca i32, align 4
+ %.atomictmp.i64 = alloca i8, align 1
+ %.atomicdst.i65 = alloca i8, align 1
+ %this.addr.i.i49 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %__m.addr.i.i50 = alloca i32, align 4
+ %.atomicdst.i.i51 = alloca i8, align 1
+ %this.addr.i52 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %this.addr.i46 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %__e.addr.i = alloca i8*, align 4
+ %__d.addr.i47 = alloca i8, align 1
+ %__m.addr.i = alloca i32, align 4
+ %.atomictmp.i = alloca i8, align 1
+ %.atomicdst.i = alloca i8, align 1
+ %this.addr.i.i42 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %__m.addr.i.i = alloca i32, align 4
+ %.atomicdst.i.i = alloca i8, align 1
+ %this.addr.i43 = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %this.addr.i.i.i.i = alloca %"struct.std::__1::__atomic_base.0"*, align 4
+ %__d.addr.i.i.i.i = alloca i8, align 1
+ %this.addr.i.i.i = alloca %"struct.std::__1::__atomic_base"*, align 4
+ %__d.addr.i.i.i = alloca i8, align 1
+ %this.addr.i.i = alloca %"struct.std::__1::atomic"*, align 4
+ %__d.addr.i.i = alloca i8, align 1
+ %this.addr.i = alloca %"struct.std::__1::atomic"*, align 4
+ %__d.addr.i = alloca i8, align 1
+