; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s ; CHECK-NOT: {{vmrg[hl]w.*(3[23456789]|[456][0-9])}} define void @__f0() { entry: %0 = shufflevector <8 x float> zeroinitializer, <8 x float> undef, <16 x i32> %1 = shufflevector <16 x float> %0, <16 x float> undef, <32 x i32> %2 = shufflevector <8 x float> zeroinitializer, <8 x float> undef, <16 x i32> %3 = shufflevector <16 x float> %2, <16 x float> undef, <32 x i32> %4 = fmul <32 x float> %1, %3 %5 = load <4 x float>, ptr undef, align 128 %6 = load <4 x float>, ptr undef, align 128 %7 = shufflevector <4 x float> undef, <4 x float> %5, <8 x i32> %8 = shufflevector <4 x float> undef, <4 x float> %6, <8 x i32> %9 = shufflevector <8 x float> %7, <8 x float> %8, <16 x i32> %10 = shufflevector <16 x float> undef, <16 x float> %9, <32 x i32> %11 = load <4 x float>, ptr null, align 128 %12 = load <4 x float>, ptr undef, align 128 %13 = shufflevector <4 x float> undef, <4 x float> %11, <8 x i32> %14 = shufflevector <4 x float> undef, <4 x float> %12, <8 x i32> %15 = shufflevector <8 x float> %13, <8 x float> %14, <16 x i32> %16 = shufflevector <16 x float> undef, <16 x float> %15, <32 x i32> %17 = fmul <32 x float> %10, %16 %18 = fsub <32 x float> %4, %17 %19 = shufflevector <32 x float> %18, <32 x float> undef, <64 x i32> %20 = bitcast <64 x float> %19 to <32 x double> %21 = shufflevector <32 x double> undef, <32 x double> %20, <64 x i32> %22 = bitcast <64 x double> %21 to <128 x float> %23 = shufflevector <128 x float> undef, <128 x float> %22, <256 x i32> %24 = shufflevector <256 x float> undef, <256 x float> %23, <512 x i32> %25 = shufflevector <512 x float> %24, <512 x float> undef, <1024 x i32> %26 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %26, ptr undef, align 128 %27 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %27, ptr undef, align 128 %28 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %28, ptr undef, align 128 %29 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %29, ptr undef, align 128 %30 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %30, ptr undef, align 128 %31 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %31, ptr undef, align 128 %32 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %32, ptr undef, align 128 %33 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %33, ptr undef, align 128 %34 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %34, ptr undef, align 128 %35 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %35, ptr undef, align 128 %36 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %36, ptr undef, align 128 %37 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %37, ptr undef, align 128 %38 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %38, ptr undef, align 128 %39 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %39, ptr undef, align 128 %40 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %40, ptr undef, align 128 %41 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %41, ptr undef, align 128 %42 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %42, ptr undef, align 128 %43 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %43, ptr undef, align 128 %44 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %44, ptr undef, align 128 %45 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %45, ptr undef, align 128 %46 = shufflevector <1024 x float> %25, <1024 x float> undef, <4 x i32> store <4 x float> %46, ptr undef, align 128 %47 = shufflevector <1024 x float> undef, <1024 x float> undef, <4 x i32> store <4 x float> %47, ptr undef, align 128 %48 = shufflevector <1024 x float> undef, <1024 x float> undef, <4 x i32> store <4 x float> %48, ptr undef, align 128 %49 = shufflevector <1024 x float> undef, <1024 x float> undef, <4 x i32> store <4 x float> %49, ptr undef, align 128 %50 = shufflevector <1024 x float> undef, <1024 x float> undef, <4 x i32> store <4 x float> %50, ptr undef, align 128 %51 = shufflevector <1024 x float> undef, <1024 x float> undef, <4 x i32> store <4 x float> %51, ptr undef, align 128 %52 = shufflevector <1024 x float> undef, <1024 x float> undef, <4 x i32> store <4 x float> %52, ptr undef, align 128 ret void }