blob: c67889868e0384ef5bdb1c85167b9acdd7c105d3 [file] [edit]
; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
; CHECK: bitinsert val type cannot be wider than base type!
; CHECK-NEXT: %r = bitinsert b32 %base, i64 %val, i32 0
define b32 @bitinsert_val_wider_than_base(b32 %base, i64 %val) {
%r = bitinsert b32 %base, i64 %val, i32 0
ret b32 %r
}
; CHECK: bitinsert val type cannot be wider than base type!
; CHECK-NEXT: %r = bitinsert b48 %base, ptr %val, i32 0
define b48 @bitinsert_val_ptr_wider_than_base(b48 %base, ptr %val) {
%r = bitinsert b48 %base, ptr %val, i32 0
ret b48 %r
}
; CHECK: bitextract result type cannot be wider than source type!
; CHECK-NEXT: %r = bitextract i64, b32 %src, i32 0
define i64 @bitextract_ty_wider_than_src(b32 %src) {
%r = bitextract i64, b32 %src, i32 0
ret i64 %r
}
; CHECK: bitextract result type cannot be wider than source type!
; CHECK-NEXT: %r = bitextract ptr, b48 %src, i32 0
define ptr @bitextract_ty_ptr_wider_than_src(b48 %src) {
%r = bitextract ptr, b48 %src, i32 0
ret ptr %r
}