14c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar; RUN: opt < %s -constprop -S | FileCheck %s 24c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 34c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar; CHECK-LABEL: shift_undef_64 44c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainardefine void @shift_undef_64(i64* %p) { 54c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r1 = lshr i64 -1, 4294967296 ; 2^32 64c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i64 undef 74c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i64 %r1, i64* %p 84c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 94c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r2 = ashr i64 -1, 4294967297 ; 2^32 + 1 104c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i64 undef 114c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i64 %r2, i64* %p 124c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 134c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r3 = shl i64 -1, 4294967298 ; 2^32 + 2 144c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i64 undef 154c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i64 %r3, i64* %p 164c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 174c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ret void 184c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar} 194c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 204c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar; CHECK-LABEL: shift_undef_65 214c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainardefine void @shift_undef_65(i65* %p) { 224c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r1 = lshr i65 2, 18446744073709551617 234c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i65 undef 244c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i65 %r1, i65* %p 254c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 264c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r2 = ashr i65 4, 18446744073709551617 274c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i65 undef 284c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i65 %r2, i65* %p 294c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 304c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r3 = shl i65 1, 18446744073709551617 314c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i65 undef 324c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i65 %r3, i65* %p 334c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 344c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ret void 354c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar} 364c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 374c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar; CHECK-LABEL: shift_undef_256 384c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainardefine void @shift_undef_256(i256* %p) { 394c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r1 = lshr i256 2, 18446744073709551617 404c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i256 undef 414c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i256 %r1, i256* %p 424c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 434c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r2 = ashr i256 4, 18446744073709551618 444c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i256 undef 454c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i256 %r2, i256* %p 464c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 474c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r3 = shl i256 1, 18446744073709551619 484c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i256 undef 494c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i256 %r3, i256* %p 504c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 514c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ret void 524c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar} 534c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 544c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar; CHECK-LABEL: shift_undef_511 554c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainardefine void @shift_undef_511(i511* %p) { 564c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r1 = lshr i511 -1, 1208925819614629174706276 ; 2^80 + 100 574c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i511 undef 584c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i511 %r1, i511* %p 594c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 604c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r2 = ashr i511 -2, 1208925819614629174706200 614c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i511 undef 624c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i511 %r2, i511* %p 634c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 644c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar %r3 = shl i511 -3, 1208925819614629174706180 654c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ; CHECK: store i511 undef 664c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar store i511 %r3, i511* %p 674c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar 684c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar ret void 694c5e43da7792f75567b693105cc53e3f1992ad98Pirama Arumuga Nainar} 70