added half2 math operations

1. They use SDWA + LLVM IR
2. Added these functions to test
3. Need to do exp, exp10, log, log10, rint

Change-Id: I06176acc6cb8bb054495310531777406a41b54e4
Este commit está contenido en:
Aditya Atluri
2017-01-13 12:27:11 -06:00
padre 8c978c210c
commit 0e576295b4
Se han modificado 3 ficheros con 152 adiciones y 0 borrados
+16
Ver fichero
@@ -88,6 +88,21 @@ __global__ void CheckHalf2(hipLaunchParm lp, __half2* In1, __half2* In2, __half2
Out[7] = __hsub2(In1[7], In2[7]);
Out[8] = __hsub2_sat(In1[8], In2[8]);
Out[9] = h2div(In1[9], In2[9]);
Out[10] = h2ceil(In1[10]);
Out[11] = h2cos(In1[11]);
// Out[12] = h2exp(In1[12]);
// Out[13] = h2exp10(In1[13]);
Out[14] = h2exp2(In1[14]);
Out[15] = h2floor(In1[15]);
// Out[16] = h2log(In1[16]);
// Out[17] = h2log10(In1[17]);
Out[18] = h2log2(In1[18]);
Out[19] = h2rcp(In1[19]);
// Out[20] = h2rint(In1[20]);
Out[21] = h2rsqrt(In1[21]);
Out[22] = h2sin(In1[22]);
Out[23] = h2sqrt(In1[23]);
Out[24] = h2trunc(In1[24]);
}
__global__ void CheckCmpHalf(hipLaunchParm lp, __half* In1, __half* In2, bool* Out) {
@@ -109,6 +124,7 @@ __global__ void CheckCmpHalf2(hipLaunchParm lp, __half2* In1, __half2* In2, __ha
Out[5] = __hle2(In1[5], In2[5]);
Out[6] = __hlt2(In1[6], In2[6]);
Out[7] = __hne2(In1[7], In2[7]);
}
int main(){