blob: 54424e18f68b01af56fdefeb445d1f769153eb50 [file] [log] [blame]
Dan Gohmanfce288f2009-09-09 00:09:15 +00001; RUN: llc < %s -march=systemz | grep rll
Anton Korobeynikov759205d2009-07-16 14:06:49 +00002
3target datalayout = "E-p:64:64:64-i8:8:16-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-a0:16:16"
Duncan Sandscdd4f8c2010-08-30 10:48:29 +00004target triple = "s390x-ibm-linux"
Anton Korobeynikov759205d2009-07-16 14:06:49 +00005
6define i32 @rotl(i32 %x, i32 %y, i32 %z) nounwind readnone {
7entry:
Evan Chengd40d03e2010-01-06 19:38:29 +00008 %shl = shl i32 %x, 1 ; <i32> [#uses=1]
9 %sub = sub i32 32, 1 ; <i32> [#uses=1]
Anton Korobeynikov759205d2009-07-16 14:06:49 +000010 %shr = lshr i32 %x, %sub ; <i32> [#uses=1]
11 %or = or i32 %shr, %shl ; <i32> [#uses=1]
12 ret i32 %or
13}