[RISCV] Fixed setting predicates for compressed instructions.

Summary:
Fixed setting predicates for compressed instructions.
Some instructions were being generated with C extension
enabled only, without proper checks for the other
required extensions like F, D and 32 and 64-bit target checks.
Affected instructions:
C_FLD, C_FLW, C_LD, C_FSD, C_FSW, C_SD,
C_JAL, C_ADDIW, C_SUBW, C_ADDW,
C_FLDSP, C_FLWSP, C_LDSP, C_FSDSP, C_FSWSP, C_SDSP

Reviewers: asb, shiva0217

Reviewed By: asb

Subscribers: rbar, johnrusso, simoncook, jordy.potman.lists, sabuasal, niosHD, llvm-commits

Differential Revision: https://reviews.llvm.org/D42132

llvm-svn: 322876
diff --git a/llvm/test/MC/RISCV/rv32fc-valid.s b/llvm/test/MC/RISCV/rv32fc-valid.s
index d556206..b07bef9 100644
--- a/llvm/test/MC/RISCV/rv32fc-valid.s
+++ b/llvm/test/MC/RISCV/rv32fc-valid.s
@@ -3,17 +3,31 @@
 # RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+c,+f < %s \
 # RUN:     | llvm-objdump -mattr=+c,+f -riscv-no-aliases -d - \
 # RUN:     | FileCheck -check-prefix=CHECK-INST %s
+# RUN: not llvm-mc -triple riscv32 -mattr=+c \
+# RUN:     -riscv-no-aliases -show-encoding < %s 2>&1 \
+# RUN:     | FileCheck -check-prefixes=CHECK-NO-EXT %s
+# RUN: not llvm-mc -triple riscv32 \
+# RUN:     -riscv-no-aliases -show-encoding < %s 2>&1 \
+# RUN:     | FileCheck -check-prefixes=CHECK-NO-EXT %s
+# RUN: not llvm-mc -triple riscv64 -mattr=+c,+f \
+# RUN:     -riscv-no-aliases -show-encoding < %s 2>&1 \
+# RUN:     | FileCheck -check-prefixes=CHECK-NO-EXT %s
+
 
 # CHECK-INST: c.flwsp  fs0, 252(sp)
 # CHECK: encoding: [0x7e,0x74]
+# CHECK-NO-EXT:  error: instruction use requires an option to be enabled
 c.flwsp  fs0, 252(sp)
 # CHECK-INST: c.fswsp  fa7, 252(sp)
 # CHECK: encoding: [0xc6,0xff]
+# CHECK-NO-EXT:  error: instruction use requires an option to be enabled
 c.fswsp  fa7, 252(sp)
 
 # CHECK-INST: c.flw  fa3, 124(a5)
 # CHECK: encoding: [0xf4,0x7f]
+# CHECK-NO-EXT:  error: instruction use requires an option to be enabled
 c.flw  fa3, 124(a5)
 # CHECK-INST: c.fsw  fa2, 124(a1)
 # CHECK: encoding: [0xf0,0xfd]
+# CHECK-NO-EXT:  error: instruction use requires an option to be enabled
 c.fsw  fa2, 124(a1)