blob: 646354912cdda92bd40a9e190abf82ee9e4c3cd3 [file] [log] [blame]
Arthur Eubanksfeeed162020-06-26 14:58:01 -07001; RUN: opt -basic-aa -gvn -instcombine -S < %s | FileCheck %s
Kenneth Uildriks90fedc62009-11-03 15:29:06 +00002target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
Nick Lewyckye2782c72009-10-13 07:48:38 +00003
Nick Lewyckyf01ba002009-10-14 19:02:13 +00004define i8 @foo(i8* %ptr) {
David Blaikie79e6c742015-02-27 19:29:02 +00005 %P = getelementptr i8, i8* %ptr, i32 0
6 %Q = getelementptr i8, i8* %ptr, i32 1
Nick Lewyckye2782c72009-10-13 07:48:38 +00007; CHECK: getelementptr
David Blaikiea79ac142015-02-27 21:17:42 +00008 %X = load i8, i8* %P
Eli Friedman5c918912011-09-26 20:15:28 +00009 %Y = atomicrmw add i8* %Q, i8 1 monotonic
David Blaikiea79ac142015-02-27 21:17:42 +000010 %Z = load i8, i8* %P
Nick Lewyckye2782c72009-10-13 07:48:38 +000011; CHECK-NOT: = load
Nick Lewyckyf01ba002009-10-14 19:02:13 +000012 %A = sub i8 %X, %Z
13 ret i8 %A
14; CHECK: ret i8 0
Nick Lewyckye2782c72009-10-13 07:48:38 +000015}