1/* Check that the proper signed compare instructions are being generated. */ 2 3/* { dg-do compile { target { s390*-*-* } } } */ 4/* { dg-options "-O3 -mzarch -march=z13" } */ 5 6/* { dg-final { scan-assembler-times "vchb" 1 } } */ 7/* { dg-final { scan-assembler-times "vchh" 1 } } */ 8/* { dg-final { scan-assembler-times "vchf" 1 } } */ 9/* { dg-final { scan-assembler-times "vchg" 1 } } */ 10 11typedef __attribute__((vector_size(16))) signed char v16qi; 12typedef __attribute__((vector_size(16))) signed short v8hi; 13typedef __attribute__((vector_size(16))) signed int v4si; 14typedef __attribute__((vector_size(16))) signed long long v2di; 15 16v16qi 17f (v16qi a, v16qi b) 18{ 19 return a > b; 20} 21 22v8hi 23g (v8hi a, v8hi b) 24{ 25 return a > b; 26} 27 28v4si 29h (v4si a, v4si b) 30{ 31 return a > b; 32} 33 34v2di 35i (v2di a, v2di b) 36{ 37 return a > b; 38} 39