; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py ; RUN: opt -passes="print" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfh < %s | FileCheck %s ; RUN: opt -passes="print" -cost-kind=code-size 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfh < %s | FileCheck %s --check-prefixes=CODESIZE ; Check that we don't crash querying costs when vectors are not enabled. ; RUN: opt -passes="print" 2>&1 -disable-output -mtriple=riscv64 define void @load(ptr %p) { ; CHECK-LABEL: 'load' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = load i1, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = load <1 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = load <2 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = load <4 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = load <8 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = load <16 x i1>, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = load <32 x i1>, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = load , ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = load , ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = load , ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = load , ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %12 = load , ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %13 = load , ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = load i8, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = load <1 x i8>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %16 = load <2 x i8>, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = load <4 x i8>, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = load <8 x i8>, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = load <16 x i8>, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = load <32 x i8>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %21 = load , ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = load , ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = load , ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = load , ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %25 = load , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %26 = load , ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = load i16, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = load <1 x i16>, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = load <2 x i16>, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = load <4 x i16>, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = load <8 x i16>, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %32 = load <16 x i16>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %33 = load <32 x i16>, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = load , ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %35 = load , ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %36 = load , ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %37 = load , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %38 = load , ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %39 = load , ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %40 = load i32, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %41 = load <1 x i32>, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %42 = load <2 x i32>, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %43 = load <4 x i32>, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %44 = load <8 x i32>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %45 = load <16 x i32>, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %46 = load <32 x i32>, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %47 = load , ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %48 = load , ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %49 = load , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %50 = load , ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %51 = load , ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %52 = load , ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %53 = load i64, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %54 = load <1 x i64>, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %55 = load <2 x i64>, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %56 = load <4 x i64>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %57 = load <8 x i64>, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %58 = load <16 x i64>, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %59 = load <32 x i64>, ptr %p, align 256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %60 = load , ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %61 = load , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %62 = load , ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %63 = load , ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %64 = load , ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %65 = load , ptr %p, align 256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %66 = load ptr, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %67 = load <1 x ptr>, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %68 = load <2 x ptr>, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %69 = load <4 x ptr>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %70 = load <8 x ptr>, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %71 = load <16 x ptr>, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %72 = load <32 x ptr>, ptr %p, align 256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %73 = load , ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %74 = load , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %75 = load , ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %76 = load , ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %77 = load , ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %78 = load , ptr %p, align 256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; CODESIZE-LABEL: 'load' ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = load i1, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = load <1 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = load <2 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = load <4 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = load <8 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = load <16 x i1>, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = load <32 x i1>, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = load , ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = load , ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = load , ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = load , ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = load , ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = load , ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = load i8, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = load <1 x i8>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %16 = load <2 x i8>, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = load <4 x i8>, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = load <8 x i8>, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = load <16 x i8>, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %20 = load <32 x i8>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %21 = load , ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = load , ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = load , ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = load , ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %25 = load , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = load , ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = load i16, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = load <1 x i16>, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = load <2 x i16>, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = load <4 x i16>, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = load <8 x i16>, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = load <16 x i16>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = load <32 x i16>, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = load , ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %35 = load , ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %36 = load , ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %37 = load , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = load , ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %39 = load , ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %40 = load i32, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %41 = load <1 x i32>, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %42 = load <2 x i32>, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %43 = load <4 x i32>, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %44 = load <8 x i32>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %45 = load <16 x i32>, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %46 = load <32 x i32>, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %47 = load , ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %48 = load , ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %49 = load , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %50 = load , ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %51 = load , ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %52 = load , ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %53 = load i64, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %54 = load <1 x i64>, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %55 = load <2 x i64>, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %56 = load <4 x i64>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %57 = load <8 x i64>, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %58 = load <16 x i64>, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %59 = load <32 x i64>, ptr %p, align 256 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %60 = load , ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %61 = load , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %62 = load , ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %63 = load , ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %64 = load , ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %65 = load , ptr %p, align 256 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %66 = load ptr, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %67 = load <1 x ptr>, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %68 = load <2 x ptr>, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %69 = load <4 x ptr>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %70 = load <8 x ptr>, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %71 = load <16 x ptr>, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %72 = load <32 x ptr>, ptr %p, align 256 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %73 = load , ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %74 = load , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %75 = load , ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %76 = load , ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %77 = load , ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %78 = load , ptr %p, align 256 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; load i1, ptr %p load <1 x i1>, ptr %p load <2 x i1>, ptr %p load <4 x i1>, ptr %p load <8 x i1>, ptr %p load <16 x i1>, ptr %p load <32 x i1>, ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load i8, ptr %p load <1 x i8>, ptr %p load <2 x i8>, ptr %p load <4 x i8>, ptr %p load <8 x i8>, ptr %p load <16 x i8>, ptr %p load <32 x i8>, ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load i16, ptr %p load <1 x i16>, ptr %p load <2 x i16>, ptr %p load <4 x i16>, ptr %p load <8 x i16>, ptr %p load <16 x i16>, ptr %p load <32 x i16>, ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load i32, ptr %p load <1 x i32>, ptr %p load <2 x i32>, ptr %p load <4 x i32>, ptr %p load <8 x i32>, ptr %p load <16 x i32>, ptr %p load <32 x i32>, ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load i64, ptr %p load <1 x i64>, ptr %p load <2 x i64>, ptr %p load <4 x i64>, ptr %p load <8 x i64>, ptr %p load <16 x i64>, ptr %p load <32 x i64>, ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load ptr, ptr %p load <1 x ptr>, ptr %p load <2 x ptr>, ptr %p load <4 x ptr>, ptr %p load <8 x ptr>, ptr %p load <16 x ptr>, ptr %p load <32 x ptr>, ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p load , ptr %p ret void } define void @store(ptr %p) { ; CHECK-LABEL: 'store' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i1 undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i1> undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i1> undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i8> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i8> undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i8> undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <32 x i8> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i16> undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i16> undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <16 x i16> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <32 x i16> undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i32> undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <8 x i32> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <16 x i32> undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <32 x i32> undef, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store undef, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i64> undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i64> undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i64> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <8 x i64> undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <16 x i64> undef, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store <32 x i64> undef, ptr %p, align 256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store undef, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: store undef, ptr %p, align 256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store ptr undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x ptr> undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x ptr> undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x ptr> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <8 x ptr> undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <16 x ptr> undef, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store <32 x ptr> undef, ptr %p, align 256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store undef, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: store undef, ptr %p, align 256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; CODESIZE-LABEL: 'store' ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i1 undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i1> undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i1> undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i8> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i8> undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i8> undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i8> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i16> undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i16> undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i16> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i16> undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i32> undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i32> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i32> undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i32> undef, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i64> undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i64> undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i64> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i64> undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i64> undef, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <32 x i64> undef, ptr %p, align 256 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store undef, ptr %p, align 256 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store ptr undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x ptr> undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x ptr> undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x ptr> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x ptr> undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x ptr> undef, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <32 x ptr> undef, ptr %p, align 256 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store undef, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store undef, ptr %p, align 256 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; store i1 undef, ptr %p store <1 x i1> undef, ptr %p store <2 x i1> undef, ptr %p store <4 x i1> undef, ptr %p store <8 x i1> undef, ptr %p store <16 x i1> undef, ptr %p store <32 x i1> undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store i8 undef, ptr %p store <1 x i8> undef, ptr %p store <2 x i8> undef, ptr %p store <4 x i8> undef, ptr %p store <8 x i8> undef, ptr %p store <16 x i8> undef, ptr %p store <32 x i8> undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store i16 undef, ptr %p store <1 x i16> undef, ptr %p store <2 x i16> undef, ptr %p store <4 x i16> undef, ptr %p store <8 x i16> undef, ptr %p store <16 x i16> undef, ptr %p store <32 x i16> undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store i32 undef, ptr %p store <1 x i32> undef, ptr %p store <2 x i32> undef, ptr %p store <4 x i32> undef, ptr %p store <8 x i32> undef, ptr %p store <16 x i32> undef, ptr %p store <32 x i32> undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store i64 undef, ptr %p store <1 x i64> undef, ptr %p store <2 x i64> undef, ptr %p store <4 x i64> undef, ptr %p store <8 x i64> undef, ptr %p store <16 x i64> undef, ptr %p store <32 x i64> undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store ptr undef, ptr %p store <1 x ptr> undef, ptr %p store <2 x ptr> undef, ptr %p store <4 x ptr> undef, ptr %p store <8 x ptr> undef, ptr %p store <16 x ptr> undef, ptr %p store <32 x ptr> undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p store undef, ptr %p ret void } ; For constants, have to account for cost of materializing the constant itself ; This test exercises a few interesting constant patterns at VLEN=128 define void @store_of_constant(ptr %p) { ; CHECK-LABEL: 'store_of_constant' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i32> zeroinitializer, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: store <4 x i64> zeroinitializer, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i32> splat (i32 1), ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: store <4 x i64> splat (i64 1), ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i32> splat (i32 4096), ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; CODESIZE-LABEL: 'store_of_constant' ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i32> zeroinitializer, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i64> zeroinitializer, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i32> splat (i32 1), ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i64> splat (i64 1), ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <4 x i32> splat (i32 4096), ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i32> , ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; ; poison and undef store <4 x i32> poison, ptr %p store <4 x i32> undef, ptr %p ; Various splats store <4 x i32> zeroinitializer, ptr %p store <4 x i64> zeroinitializer, ptr %p store <4 x i32> , ptr %p store <4 x i64> , ptr %p store <4 x i32> , ptr %p ; Nearly splats store <4 x i32> , ptr %p store <4 x i32> , ptr %p ; Step vector functions store <4 x i32> , ptr %p store <4 x i32> , ptr %p store <4 x i32> , ptr %p store <4 x i32> , ptr %p ; General case 128 bit constants store <4 x i32> , ptr %p store <4 x i32> , ptr %p ret void } define void @load_oddsize_vectors(ptr %p) { ; CHECK-LABEL: 'load_oddsize_vectors' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = load <1 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = load <2 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = load <3 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = load <4 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = load <5 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = load <6 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = load <7 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = load <8 x i1>, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = load <9 x i1>, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = load <15 x i1>, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = load <16 x i1>, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = load <31 x i1>, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = load <32 x i1>, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = load <1 x i32>, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = load <2 x i32>, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %16 = load <3 x i32>, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = load <4 x i32>, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %18 = load <5 x i32>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %19 = load <6 x i32>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = load <7 x i32>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %21 = load <8 x i32>, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %22 = load <9 x i32>, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %23 = load <15 x i32>, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %24 = load <16 x i32>, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %25 = load <31 x i32>, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %26 = load <32 x i32>, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; CODESIZE-LABEL: 'load_oddsize_vectors' ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = load <1 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = load <2 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = load <3 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = load <4 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = load <5 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = load <6 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = load <7 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = load <8 x i1>, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = load <9 x i1>, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = load <15 x i1>, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = load <16 x i1>, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = load <31 x i1>, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = load <32 x i1>, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = load <1 x i32>, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = load <2 x i32>, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %16 = load <3 x i32>, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = load <4 x i32>, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = load <5 x i32>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = load <6 x i32>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %20 = load <7 x i32>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %21 = load <8 x i32>, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = load <9 x i32>, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = load <15 x i32>, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = load <16 x i32>, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %25 = load <31 x i32>, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = load <32 x i32>, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; load <1 x i1>, ptr %p load <2 x i1>, ptr %p load <3 x i1>, ptr %p load <4 x i1>, ptr %p load <5 x i1>, ptr %p load <6 x i1>, ptr %p load <7 x i1>, ptr %p load <8 x i1>, ptr %p load <9 x i1>, ptr %p load <15 x i1>, ptr %p load <16 x i1>, ptr %p load <31 x i1>, ptr %p load <32 x i1>, ptr %p load <1 x i32>, ptr %p load <2 x i32>, ptr %p load <3 x i32>, ptr %p load <4 x i32>, ptr %p load <5 x i32>, ptr %p load <6 x i32>, ptr %p load <7 x i32>, ptr %p load <8 x i32>, ptr %p load <9 x i32>, ptr %p load <15 x i32>, ptr %p load <16 x i32>, ptr %p load <31 x i32>, ptr %p load <32 x i32>, ptr %p ret void } define void @store_oddsize_vectors(ptr %p) { ; CHECK-LABEL: 'store_oddsize_vectors' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <5 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <6 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <7 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i1> undef, ptr %p, align 1 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <15 x i1> undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i1> undef, ptr %p, align 2 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <31 x i1> undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i1> undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i32> undef, ptr %p, align 4 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> undef, ptr %p, align 8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> undef, ptr %p, align 16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <5 x i32> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <6 x i32> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <7 x i32> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <8 x i32> undef, ptr %p, align 32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <15 x i32> undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <16 x i32> undef, ptr %p, align 64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <31 x i32> undef, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <32 x i32> undef, ptr %p, align 128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; CODESIZE-LABEL: 'store_oddsize_vectors' ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <5 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <6 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <7 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i1> undef, ptr %p, align 1 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <15 x i1> undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i1> undef, ptr %p, align 2 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <31 x i1> undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i1> undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i32> undef, ptr %p, align 4 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> undef, ptr %p, align 8 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> undef, ptr %p, align 16 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <5 x i32> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <6 x i32> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <7 x i32> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i32> undef, ptr %p, align 32 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <15 x i32> undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i32> undef, ptr %p, align 64 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <31 x i32> undef, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i32> undef, ptr %p, align 128 ; CODESIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; store <1 x i1> undef, ptr %p store <2 x i1> undef, ptr %p store <3 x i1> undef, ptr %p store <4 x i1> undef, ptr %p store <5 x i1> undef, ptr %p store <6 x i1> undef, ptr %p store <7 x i1> undef, ptr %p store <8 x i1> undef, ptr %p store <15 x i1> undef, ptr %p store <16 x i1> undef, ptr %p store <31 x i1> undef, ptr %p store <32 x i1> undef, ptr %p store <1 x i32> undef, ptr %p store <2 x i32> undef, ptr %p store <3 x i32> undef, ptr %p store <4 x i32> undef, ptr %p store <5 x i32> undef, ptr %p store <6 x i32> undef, ptr %p store <7 x i32> undef, ptr %p store <8 x i32> undef, ptr %p store <15 x i32> undef, ptr %p store <16 x i32> undef, ptr %p store <31 x i32> undef, ptr %p store <32 x i32> undef, ptr %p ret void }