; RUN: llc < %s -mtriple=s390x-linux-gnu -o - | FileCheck %s ; This test verifies that passing the "-vector" feature disables *any* ; use of vector instructions, even if +vector-enhancements-1 if given. ; Function Attrs: noinline nounwind optnone define dso_local signext i32 @foo(fp128* %0, fp128* %1) #0 { ; CHECK-LABEL: @foo ; CHECK-NOT: vl ; CHECK-NOT: vst ; CHECK: br %r14 entry: %arg1.addr = alloca fp128, align 8 %arg2.addr = alloca fp128, align 8 %indirect-arg-temp = alloca fp128, align 8 %indirect-arg-temp1 = alloca fp128, align 8 %arg1 = load fp128, fp128* %0, align 8 %arg2 = load fp128, fp128* %1, align 8 store fp128 %arg1, fp128* %arg1.addr, align 8 store fp128 %arg2, fp128* %arg2.addr, align 8 %2 = load fp128, fp128* %arg1.addr, align 8 %3 = load fp128, fp128* %arg2.addr, align 8 store fp128 %2, fp128* %indirect-arg-temp, align 8 store fp128 %3, fp128* %indirect-arg-temp1, align 8 %call = call signext i32 @bar(i32 signext 2, fp128* %indirect-arg-temp, fp128* %indirect-arg-temp1) ret i32 %call } declare dso_local signext i32 @bar(i32 signext, fp128*, fp128*) #1 attributes #0 = { noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="z14" "target-features"="+transactional-execution,+vector-enhancements-1,-vector" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="z14" "target-features"="+transactional-execution,+vector-enhancements-1,-vector" "unsafe-fp-math"="false" "use-soft-float"="false" }