From ac80ade1580378e484e24c9f66d2fa5b058e5891 Mon Sep 17 00:00:00 2001
From: Nate Begeman
The 'fcmp' compares var1 and var2 according to -the condition code given as cond. The comparison performed always -yields a i1 result, as follows: +
The 'fcmp' instruction compares var1 and var2 +according to the condition code given as cond. The comparison performed +always yields a i1 result, as follows:
<result> = vicmp <cond> <ty> <var1>, <var2> ; yields {ty}:result ++
The 'vicmp' instruction returns an integer vector value based on +element-wise comparison of its two integer vector operands.
+The 'vicmp' instruction takes three operands. The first operand is +the condition code indicating the kind of comparison to perform. It is not +a value, just a keyword. The possible condition code are: +
The remaining two arguments must be vector of +integer typed. They must also be identical types.
+The 'vicmp' instruction compares var1 and var2 +according to the condition code given as cond. The comparison yields a +vector of integer result, of +identical type as the values being compared. The most significant bit in each +element is 1 if the element-wise comparison evaluates to true, and is 0 +otherwise. All other bits of the result are undefined. The condition codes +are evaluated identically to the 'icmp' +instruction. + +
+ <result> = vicmp eq <2 x i32> < i32 4, i32 0 >, < i32 5, i32 0 > ; yields: result=<2 x i32> < i32 0, i32 -1 > + <result> = vicmp ult <2 x i8> < i8 1, i8 2 >, < i8 2, i8 2> ; yields: result=<2 x i8> < i8 -1, i8 0 > ++
<result> = vfcmp <cond> <ty> <var1>, <var2>+
The 'vfcmp' instruction returns an integer vector value based on +element-wise comparison of its two floating point vector operands. The output +elements have the same width as the input elements.
+The 'vfcmp' instruction takes three operands. The first operand is +the condition code indicating the kind of comparison to perform. It is not +a value, just a keyword. The possible condition code are: +
The remaining two arguments must be vector of +floating point typed. They must also be identical +types.
+The 'vfcmp' instruction compares var1 and var2 +according to the condition code given as cond. The comparison yields a +vector of integer result, with +an identical number of elements as the values being compared, and each element +having identical with to the width of the floating point elements. The most +significant bit in each element is 1 if the element-wise comparison evaluates to +true, and is 0 otherwise. All other bits of the result are undefined. The +condition codes are evaluated identically to the +'fcmp' instruction. + +
+ <result> = vfcmp oeq <2 x float> < float 4, float 0 >, < float 5, float 0 > ; yields: result=<2 x i32> < i32 0, i32 -1 > + <result> = vfcmp ult <2 x double> < double 1, double 2 >, < double 2, double 2> ; yields: result=<2 x i64> < i64 -1, i64 0 > ++