29 lines · plain
1# RUN: not llvm-mc -triple riscv32 -mattr=+zfbfmin,+d < %s 2>&1 | \2# RUN: FileCheck %s3# RUN: not llvm-mc -triple riscv64 -mattr=+zfbfmin,+d < %s 2>&1 | \4# RUN: FileCheck %s5 6# Out of range immediates7## simm128flh ft1, -2049(a0) # CHECK: :[[@LINE]]:10: error: operand must be a symbol with %lo/%pcrel_lo/%tprel_lo specifier or an integer in the range [-2048, 2047]9fsh ft2, 2048(a1) # CHECK: :[[@LINE]]:10: error: operand must be a symbol with %lo/%pcrel_lo/%tprel_lo specifier or an integer in the range [-2048, 2047]10 11# Memory operand not formatted correctly12flh ft1, a0, -200 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction13 14# Invalid register names15flh ft15, 100(a0) # CHECK: :[[@LINE]]:5: error: invalid operand for instruction16flh ft1, 100(a10) # CHECK: :[[@LINE]]:14: error: expected register17 18# Integer registers where FP regs are expected19fmv.x.h fs7, a2 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction20 21# FP registers where integer regs are expected22fmv.h.x a8, ft2 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction23 24# Attempting to use fcvt instructions from zfhmin25fcvt.s.h fa0, ft0 # CHECK: [[@LINE]]:1: error: instruction requires the following: 'Zfh' (Half-Precision Floating-Point) or 'Zfhmin' (Half-Precision Floating-Point Minimal)26fcvt.h.s ft2, fa2 # CHECK: [[@LINE]]:1: error: instruction requires the following: 'Zfh' (Half-Precision Floating-Point) or 'Zfhmin' (Half-Precision Floating-Point Minimal)27fcvt.d.h fa0, ft0 # CHECK: [[@LINE]]:1: error: instruction requires the following: 'Zfh' (Half-Precision Floating-Point) or 'Zfhmin' (Half-Precision Floating-Point Minimal)28fcvt.h.d ft2, fa2 # CHECK: [[@LINE]]:1: error: instruction requires the following: 'Zfh' (Half-Precision Floating-Point) or 'Zfhmin' (Half-Precision Floating-Point Minimal)29