brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 22cbce9 Raw
126 lines · plain
1; RUN: llc < %s -mtriple=s390x-linux-gnu \2; RUN:   | FileCheck %s --check-prefixes=CHECK,DEFAULT3; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=soft-float \4; RUN:   | FileCheck %s --check-prefixes=CHECK,SOFT-FLOAT5; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=-soft-float \6; RUN:   | FileCheck %s --check-prefixes=CHECK,NO-SOFT-FL7; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=-vector \8; RUN:   | FileCheck %s --check-prefixes=CHECK,NO-VECTOR9;10; Test per function attributes and command line arguments that override them.11 12attributes #1 = { "target-cpu"="z14" "target-features"="+vector" "use-soft-float"="false" }13define double @fun1(ptr %A) #1 {14; CHECK-LABEL: fun1:15; DEFAULT:     ld %f0, 0(%r2)16; SOFT-FLOAT:  lg %r2, 0(%r2)17; NO-SOFT-FL:  ld %f0, 0(%r2)18; NO-VECTOR:   ld %f0, 0(%r2)19; CHECK-NEXT:  br %r1420entry:21  %0 = load double, ptr %A22  ret double %023}24 25attributes #2 = { "target-cpu"="z14" "target-features"="+vector" "use-soft-float"="true" }26define double @fun2(ptr %A) #2 {27; CHECK-LABEL: fun2:28; DEFAULT:     lg %r2, 0(%r2)29; SOFT-FLOAT:  lg %r2, 0(%r2)30; NO-SOFT-FL:  lg %r2, 0(%r2)31; NO-VECTOR:   lg %r2, 0(%r2)32; CHECK-NEXT:  br %r1433entry:34  %0 = load double, ptr %A35  ret double %036}37 38attributes #3 = { "target-cpu"="z14" "target-features"="+vector" "use-soft-float"="false" }39define <2 x double> @fun3(ptr %A) #3 {40; CHECK-LABEL:     fun3:41; DEFAULT:         vl %v24, 0(%r2), 342; SOFT-FLOAT:      lg %r0, 0(%r2)43; SOFT-FLOAT-NEXT: lg %r3, 8(%r2)44; SOFT-FLOAT-NEXT: lgr %r2, %r045; NO-SOFT-FL:      vl %v24, 0(%r2), 346; NO-VECTOR:       ld %f0, 0(%r2)47; NO-VECTOR-NEXT:  ld %f2, 8(%r2)48; CHECK-NEXT:      br %r1449entry:50  %0 = load <2 x double>, ptr %A51  ret <2 x double> %052}53 54attributes #4 = { "target-cpu"="z14" "target-features"="+vector" "use-soft-float"="true" }55define <2 x double> @fun4(ptr %A) #4 {56; CHECK-LABEL:     fun4:57; DEFAULT:         lg %r0, 0(%r2)58; DEFAULT-NEXT:    lg %r3, 8(%r2)59; DEFAULT-NEXT:    lgr %r2, %r060; SOFT-FLOAT:      lg %r0, 0(%r2)61; SOFT-FLOAT-NEXT: lg %r3, 8(%r2)62; SOFT-FLOAT-NEXT: lgr %r2, %r063; NO-SOFT-FL:      lg %r0, 0(%r2)64; NO-SOFT-FL-NEXT: lg %r3, 8(%r2)65; NO-SOFT-FL-NEXT: lgr %r2, %r066; NO-VECTOR:       lg %r0, 0(%r2)67; NO-VECTOR-NEXT:  lg %r3, 8(%r2)68; NO-VECTOR-NEXT:  lgr %r2, %r069; CHECK-NEXT:      br %r1470entry:71  %0 = load <2 x double>, ptr %A72  ret <2 x double> %073}74 75attributes #5 = { "target-cpu"="z14" "target-features"="-vector" "use-soft-float"="false" }76define <2 x double> @fun5(ptr %A) #5 {77; CHECK-LABEL:     fun5:78; DEFAULT:         ld %f0, 0(%r2)79; DEFAULT-NEXT:    ld %f2, 8(%r2)80; SOFT-FLOAT:      lg %r0, 0(%r2)81; SOFT-FLOAT-NEXT: lg %r3, 8(%r2)82; SOFT-FLOAT-NEXT: lgr %r2, %r083; NO-SOFT-FL:      ld %f0, 0(%r2)84; NO-SOFT-FL-NEXT: ld %f2, 8(%r2)85; NO-VECTOR:       ld %f0, 0(%r2)86; NO-VECTOR-NEXT:  ld %f2, 8(%r2)87; CHECK-NEXT:      br %r1488entry:89  %0 = load <2 x double>, ptr %A90  ret <2 x double> %091}92 93attributes #6 = { "target-cpu"="zEC12" "use-soft-float"="false" }94define <2 x double> @fun6(ptr %A) #6 {95; CHECK-LABEL:     fun6:96; DEFAULT:         ld %f0, 0(%r2)97; DEFAULT-NEXT:    ld %f2, 8(%r2)98; SOFT-FLOAT:      lg %r0, 0(%r2)99; SOFT-FLOAT-NEXT: lg %r3, 8(%r2)100; SOFT-FLOAT-NEXT: lgr %r2, %r0101; NO-SOFT-FL:      ld %f0, 0(%r2)102; NO-SOFT-FL-NEXT: ld %f2, 8(%r2)103; NO-VECTOR:       ld %f0, 0(%r2)104; NO-VECTOR-NEXT:  ld %f2, 8(%r2)105; CHECK-NEXT:      br %r14106entry:107  %0 = load <2 x double>, ptr %A108  ret <2 x double> %0109}110 111attributes #7 = { "target-cpu"="zEC12" "target-features"="+vector" "use-soft-float"="false" }112define <2 x double> @fun7(ptr %A) #7 {113; CHECK-LABEL:     fun7:114; DEFAULT:         vl %v24, 0(%r2), 3115; SOFT-FLOAT:      lg %r0, 0(%r2)116; SOFT-FLOAT-NEXT: lg %r3, 8(%r2)117; SOFT-FLOAT-NEXT: lgr %r2, %r0118; NO-SOFT-FL:      vl %v24, 0(%r2), 3119; NO-VECTOR:       ld %f0, 0(%r2)120; NO-VECTOR-NEXT:  ld %f2, 8(%r2)121; CHECK-NEXT:      br %r14122entry:123  %0 = load <2 x double>, ptr %A124  ret <2 x double> %0125}126