Viewing file: vmulxh_f16_1.c (1.12 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */ /* { dg-require-effective-target arm_v8_2a_fp16_scalar_hw } */ /* { dg-add-options arm_v8_2a_fp16_scalar } */ /* { dg-skip-if "" { arm*-*-* } } */
#include <arm_fp16.h>
/* Input values. */ #define A 13.4 #define B __builtin_inff () #define C -34.8 #define D -__builtin_inff () #define E 63.1 #define F 0.0 #define G -4.8 #define H 0.0
#define I 0.7 #define J -__builtin_inff () #define K 11.23 #define L 98 #define M 87.1 #define N -0.0 #define O -1.1 #define P 7
float16_t input_1[] = { A, B, C, D, I, J, K, L }; float16_t input_2[] = { E, F, G, H, M, N, O, P }; uint16_t expected[] = { 0x629B /* A * E. */, 0x4000 /* FP16_C (2.0f). */, 0x5939 /* C * G. */, 0xC000 /* FP16_C (-2.0f). */, 0x53A0 /* I * M. */, 0x4000 /* FP16_C (2.0f). */, 0xCA2C /* K * O. */, 0x615C /* L * P. */ };
#define TEST_MSG "VMULXH_F16" #define INSN_NAME vmulxh_f16
#define INPUT_1 input_1 #define INPUT_2 input_2 #define EXPECTED expected
#define INPUT_TYPE float16_t #define OUTPUT_TYPE float16_t #define OUTPUT_TYPE_SIZE 16
/* Include the template for unary scalar operations. */ #include "binary_scalar_op.inc"
|