| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6 |
| ; RUN: split-file %s %t |
| ; RUN: not opt -S -disable-output < %t/half.ll 2>&1 | FileCheck %s --check-prefix=HALF |
| ; RUN: not opt -S -disable-output < %t/bfloat.ll 2>&1 | FileCheck %s --check-prefix=BFLOAT |
| |
| ; Test that providing a hex literal larger than 16 bits for half-precision |
| ; triggers a proper error message instead of a compiler crash. |
| |
| ;--- half.ll |
| define half @test_half_overflow() { |
| ; HALF: error: hexadecimal constant too large for half (16-bit) |
| %1 = fadd half 0xH5F2F00, 0xH0000 |
| ret half %1 |
| } |
| |
| ;--- bfloat.ll |
| define bfloat @test_bfloat_overflow() { |
| ; BFLOAT: error: hexadecimal constant too large for bfloat (16-bit) |
| %1 = fadd bfloat 0xR5F2F00, 0xR0000 |
| ret bfloat %1 |
| } |
| |