(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve2/
acle/
asm/
minp_f32.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** minp_f32_m_tied1:
       7  **	fminp	z0\.s, p0/m, z0\.s, z1\.s
       8  **	ret
       9  */
      10  TEST_UNIFORM_Z (minp_f32_m_tied1, svfloat32_t,
      11  		z0 = svminp_f32_m (p0, z0, z1),
      12  		z0 = svminp_m (p0, z0, z1))
      13  
      14  /*
      15  ** minp_f32_m_tied2:
      16  **	mov	(z[0-9]+)\.d, z0\.d
      17  **	movprfx	z0, z1
      18  **	fminp	z0\.s, p0/m, z0\.s, \1\.s
      19  **	ret
      20  */
      21  TEST_UNIFORM_Z (minp_f32_m_tied2, svfloat32_t,
      22  		z0 = svminp_f32_m (p0, z1, z0),
      23  		z0 = svminp_m (p0, z1, z0))
      24  
      25  /*
      26  ** minp_f32_m_untied:
      27  **	movprfx	z0, z1
      28  **	fminp	z0\.s, p0/m, z0\.s, z2\.s
      29  **	ret
      30  */
      31  TEST_UNIFORM_Z (minp_f32_m_untied, svfloat32_t,
      32  		z0 = svminp_f32_m (p0, z1, z2),
      33  		z0 = svminp_m (p0, z1, z2))
      34  
      35  /*
      36  ** minp_f32_x_tied1:
      37  **	fminp	z0\.s, p0/m, z0\.s, z1\.s
      38  **	ret
      39  */
      40  TEST_UNIFORM_Z (minp_f32_x_tied1, svfloat32_t,
      41  		z0 = svminp_f32_x (p0, z0, z1),
      42  		z0 = svminp_x (p0, z0, z1))
      43  
      44  /*
      45  ** minp_f32_x_tied2:
      46  **	mov	(z[0-9]+)\.d, z0\.d
      47  **	movprfx	z0, z1
      48  **	fminp	z0\.s, p0/m, z0\.s, \1\.s
      49  **	ret
      50  */
      51  TEST_UNIFORM_Z (minp_f32_x_tied2, svfloat32_t,
      52  		z0 = svminp_f32_x (p0, z1, z0),
      53  		z0 = svminp_x (p0, z1, z0))
      54  
      55  /*
      56  ** minp_f32_x_untied:
      57  **	movprfx	z0, z1
      58  **	fminp	z0\.s, p0/m, z0\.s, z2\.s
      59  **	ret
      60  */
      61  TEST_UNIFORM_Z (minp_f32_x_untied, svfloat32_t,
      62  		z0 = svminp_f32_x (p0, z1, z2),
      63  		z0 = svminp_x (p0, z1, z2))
      64  
      65  /*
      66  ** ptrue_minp_f32_x_tied1:
      67  **	...
      68  **	ptrue	p[0-9]+\.b[^\n]*
      69  **	...
      70  **	ret
      71  */
      72  TEST_UNIFORM_Z (ptrue_minp_f32_x_tied1, svfloat32_t,
      73  		z0 = svminp_f32_x (svptrue_b32 (), z0, z1),
      74  		z0 = svminp_x (svptrue_b32 (), z0, z1))
      75  
      76  /*
      77  ** ptrue_minp_f32_x_tied2:
      78  **	...
      79  **	ptrue	p[0-9]+\.b[^\n]*
      80  **	...
      81  **	ret
      82  */
      83  TEST_UNIFORM_Z (ptrue_minp_f32_x_tied2, svfloat32_t,
      84  		z0 = svminp_f32_x (svptrue_b32 (), z1, z0),
      85  		z0 = svminp_x (svptrue_b32 (), z1, z0))
      86  
      87  /*
      88  ** ptrue_minp_f32_x_untied:
      89  **	...
      90  **	ptrue	p[0-9]+\.b[^\n]*
      91  **	...
      92  **	ret
      93  */
      94  TEST_UNIFORM_Z (ptrue_minp_f32_x_untied, svfloat32_t,
      95  		z0 = svminp_f32_x (svptrue_b32 (), z1, z2),
      96  		z0 = svminp_x (svptrue_b32 (), z1, z2))