<html><body><p><tt><font size="2">Hi, <br><br>Recently we're running test suite of TensorFlow v2.5.0 on s390x (Ubuntu 18.04).  <br><br>Test case //tensorflow/compiler/tests:sort_ops_test_cpu fails due to the following error:<br><br>LLVM ERROR: Cannot select: 0x3ff14167ca0: f32 = fp16_to_fp 0x3ff14167f10<br>  0x3ff14167f10: i32,ch = load<(dereferenceable load 2 from %ir.4, !alias.scope !6, !noalias !4), zext from i16> 0x3ff14197548, 0x3ff141678f8, undef:i64<br>    0x3ff141678f8: i64,ch = load<(load 8 from %ir.3)> 0x3ff14197548, 0x3ff14167890, undef:i64<br>      0x3ff14167890: i64 = add nuw 0x3ff141674e8, Constant:i64<8><br>        0x3ff141674e8: i64,ch = CopyFromReg 0x3ff14197548, Register:i64 %2<br>          0x3ff14167480: i64 = Register %2<br>        0x3ff14167828: i64 = Constant<8><br>      0x3ff14167758: i64 = undef<br>    0x3ff14167758: i64 = undef<br>In function: compare_lt_WCTTAtafbb4__.7<br><br>Other test cases such as //tensorflow/python/keras/optimizer_v2:adam_test and //tensorflow/core/kernels/mlir_generated:abs_cpu_f16_f16_gen_test also fail on s390x due to similar reasons. A related issue (</font></tt><a href="https://github.com/tensorflow/tensorflow/issues/44362"><tt><font size="2" color="#003399"><u>https://github.com/tensorflow/tensorflow/issues/44362</u></font></tt></a><tt><font size="2">) has been raised in TensorFlow GitHub issues.<br><br>We think the root cause is lack of support for operations such as FP16_TO_FP and FP_TO_FP16 which perform promotions and truncation for half-precision (16 bit) floating numbers in the SystemZ LLVM backend (llvm/lib/Target/SystemZ/SystemZISelLowering.cpp). Could these features be considered to add to SystemZ LLVM backend? Thanks!</font></tt><br><br><font size="2" face="sans-serif">Regards,</font><br><font size="2" face="sans-serif">Kun</font><BR>
<BR>
</body></html>