blob: 0ee486ad1aa869013ea2d5ab4fe03d830b3a8dfb [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 Spencera5f996b2007-04-02 00:51:15 +00005 %tmp10 = call ushort %llvm.bswap.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 Spencera5f996b2007-04-02 00:51:15 +000011 %tmp34 = tail call uint %llvm.bswap.i32( uint %tmp )
Chris Lattnere7f83dc2006-11-29 05:00:14 +000012 %tmp = seteq uint %tmp34, 1
13 ret bool %tmp
14}
15
Reid Spencera5f996b2007-04-02 00:51:15 +000016declare uint %llvm.bswap.i32(uint)
17
Chris Lattnere7f83dc2006-11-29 05:00:14 +000018bool %test3(ulong %tmp) {
Reid Spencera5f996b2007-04-02 00:51:15 +000019 %tmp34 = tail call ulong %llvm.bswap.i64( ulong %tmp )
Chris Lattnere7f83dc2006-11-29 05:00:14 +000020 %tmp = seteq ulong %tmp34, 1
21 ret bool %tmp
22}
23
Reid Spencera5f996b2007-04-02 00:51:15 +000024declare ulong %llvm.bswap.i64(ulong)
Chris Lattnere7f83dc2006-11-29 05:00:14 +000025
Reid Spencera5f996b2007-04-02 00:51:15 +000026declare ushort %llvm.bswap.i16(ushort)