blob: 146a4495c9185f84d89d40d7713268ac6f832973 [file] [log] [blame]
Reid Spencerd0e30dc2006-12-02 04:23:10 +00001; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep ret | wc -l | grep 3 &&
2; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call.*bswap'
Chris Lattnere7f83dc2006-11-29 05:00:14 +00003
4bool %test1(ushort %tmp2) {
Reid Spencerc3d87682007-04-01 07:36:28 +00005 %tmp10 = call ushort %llvm.bswap.i16.i16( ushort %tmp2 )
Chris Lattnere7f83dc2006-11-29 05:00:14 +00006 %tmp = seteq ushort %tmp10, 1
7 ret bool %tmp
8}
9
10bool %test2(uint %tmp) {
Reid Spencerc3d87682007-04-01 07:36:28 +000011 %tmp34 = tail call uint %llvm.bswap.i32.i32( uint %tmp )
Chris Lattnere7f83dc2006-11-29 05:00:14 +000012 %tmp = seteq uint %tmp34, 1
13 ret bool %tmp
14}
15
Chris Lattnere7f83dc2006-11-29 05:00:14 +000016bool %test3(ulong %tmp) {
Reid Spencerc3d87682007-04-01 07:36:28 +000017 %tmp34 = tail call ulong %llvm.bswap.i64.i64( ulong %tmp )
Chris Lattnere7f83dc2006-11-29 05:00:14 +000018 %tmp = seteq ulong %tmp34, 1
19 ret bool %tmp
20}
21
Reid Spencerc3d87682007-04-01 07:36:28 +000022declare ulong %llvm.bswap.i64.i64(ulong)
Chris Lattnere7f83dc2006-11-29 05:00:14 +000023
Reid Spencerc3d87682007-04-01 07:36:28 +000024declare ushort %llvm.bswap.i16.i16(ushort)
25
26declare uint %llvm.bswap.i32.i32(uint)