[clang] 02c7de3 - [RISCV] Precommit test for D124509
Kito Cheng via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 29 20:09:18 PDT 2022
Author: Kito Cheng
Date: 2022-04-30T11:09:12+08:00
New Revision: 02c7de3a4c32f2456df09df07e473bb95c85529c
URL: https://github.com/llvm/llvm-project/commit/02c7de3a4c32f2456df09df07e473bb95c85529c
DIFF: https://github.com/llvm/llvm-project/commit/02c7de3a4c32f2456df09df07e473bb95c85529c.diff
LOG: [RISCV] Precommit test for D124509
Test case to show the wrong code gen for `int16` -> `__fp16` conversion,
clang just emit a load and store without did conversion in the case,
and another case used for demonstrate the code gen change of `__fp16`
-> `int16`.
Reviewed By: khchen
Differential Revision: https://reviews.llvm.org/D124510
Added:
clang/test/CodeGen/RISCV/__fp16-convert.c
Modified:
Removed:
################################################################################
diff --git a/clang/test/CodeGen/RISCV/__fp16-convert.c b/clang/test/CodeGen/RISCV/__fp16-convert.c
new file mode 100644
index 000000000000..cdb666617553
--- /dev/null
+++ b/clang/test/CodeGen/RISCV/__fp16-convert.c
@@ -0,0 +1,26 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
+// RUN: %clang_cc1 -triple riscv64 -emit-llvm %s -o - \
+// RUN: | FileCheck %s
+
+__fp16 y;
+short z;
+// CHECK-LABEL: @bar1(
+// CHECK-NEXT: entry:
+// CHECK-NEXT: [[TMP0:%.*]] = load i16, ptr @y, align 2
+// CHECK-NEXT: [[TMP1:%.*]] = call float @llvm.convert.from.fp16.f32(i16 [[TMP0]])
+// CHECK-NEXT: [[CONV:%.*]] = fptosi float [[TMP1]] to i16
+// CHECK-NEXT: store i16 [[CONV]], ptr @z, align 2
+// CHECK-NEXT: ret void
+//
+void bar1(){
+ z = y;
+}
+// CHECK-LABEL: @bar2(
+// CHECK-NEXT: entry:
+// CHECK-NEXT: [[TMP0:%.*]] = load i16, ptr @z, align 2
+// CHECK-NEXT: store i16 [[TMP0]], ptr @y, align 2
+// CHECK-NEXT: ret void
+//
+void bar2(){
+ y = z;
+}
More information about the cfe-commits
mailing list