diff --git a/riscv/riscv_zfh.bin_fmt b/riscv/riscv_zfh.bin_fmt
index 59622de..92c7c9a 100644
--- a/riscv/riscv_zfh.bin_fmt
+++ b/riscv/riscv_zfh.bin_fmt
@@ -41,4 +41,13 @@
   fsgnj_h  : RType : func7 == 0b0010010, func3 == 0b000, opcode == 0b1010011;
   fsgnjn_h : RType : func7 == 0b0010010, func3 == 0b001, opcode == 0b1010011;
   fsgnjx_h : RType : func7 == 0b0010010, func3 == 0b010, opcode == 0b1010011;
+  fsqrt_h  : RType : func7 == 0b0101110, rs2 == 0b00000, opcode == 0b1010011;
+  fcvt_hw  : RType : func7 == 0b1101010, rs2 == 0b00000, opcode == 0b1010011;
+  fcvt_wh  : RType : func7 == 0b1100010, rs2 == 0b00000, opcode == 0b1010011;
+  fcvt_hwu  : RType : func7 == 0b1101010, rs2 == 0b00001, opcode == 0b1010011;
+  fcvt_wuh  : RType : func7 == 0b1100010, rs2 == 0b00001, opcode == 0b1010011;
+  fcmpeq_h  : RType : func7 == 0b1010010, func3 == 0b010, opcode == 0b1010011;
+  fcmplt_h  : RType : func7 == 0b1010010, func3 == 0b001, opcode == 0b1010011;
+  fcmple_h  : RType : func7 == 0b1010010, func3 == 0b000, opcode == 0b1010011;
+  fclass_h  : RType : func7 == 0b1110010, rs2 == 0b00000, func3 == 0b001, opcode == 0b1010011;
 };
diff --git a/riscv/test/zfh_encoding_test.cc b/riscv/test/zfh_encoding_test.cc
index 073be00..a376c21 100644
--- a/riscv/test/zfh_encoding_test.cc
+++ b/riscv/test/zfh_encoding_test.cc
@@ -93,6 +93,24 @@
 constexpr uint32_t kFsgnjnH = 0b0010010'00000'00000'001'00000'1010011;
 //                              func7  | rs2 | rs1 |fn3| rd  | opcode
 constexpr uint32_t kFsgnjxH = 0b0010010'00000'00000'010'00000'1010011;
+//                             func7  |     | rs1 |rm | rd  | opcode
+constexpr uint32_t kFsqrtH = 0b0101110'00000'00000'000'00000'1010011;
+//                             func7  |     | rs1 |rm | rd  | opcode
+constexpr uint32_t kFcvtHw = 0b1101010'00000'00000'000'00000'1010011;
+//                             func7  |     | rs1 |rm | rd  | opcode
+constexpr uint32_t kFcvtWh = 0b1100010'00000'00000'000'00000'1010011;
+//                              func7  |     | rs1 |rm | rd  | opcode
+constexpr uint32_t kFcvtHwu = 0b1101010'00001'00000'000'00000'1010011;
+//                              func7  |     | rs1 |rm | rd  | opcode
+constexpr uint32_t kFcvtWuh = 0b1100010'00001'00000'000'00000'1010011;
+//                              func7  | rs2 | rs1 |fn3| rd  | opcode
+constexpr uint32_t kFcmpeqH = 0b1010010'00000'00000'010'00000'1010011;
+//                              func7  | rs2 | rs1 |fn3| rd  | opcode
+constexpr uint32_t kFcmpltH = 0b1010010'00000'00000'001'00000'1010011;
+//                              func7  | rs2 | rs1 |fn3| rd  | opcode
+constexpr uint32_t kFcmpleH = 0b1010010'00000'00000'000'00000'1010011;
+//                              func7  |     | rs1 |fn3| rd  | opcode
+constexpr uint32_t kFclassH = 0b1110010'00000'00000'001'00000'1010011;
 
 class ZfhEncodingTest : public testing::Test {
  protected:
@@ -587,4 +605,153 @@
   FloatFrdHelper(kFsgnjxH, OpcodeEnum::kFsgnjxH);
 }
 
+TEST_F(ZfhEncodingTest, FsqrtH) {
+  enc_->ParseInstruction(kFsqrtH);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFsqrtH);
+}
+
+TEST_F(ZfhEncodingTest, FsqrtH_frs1) {
+  FloatFrs1Helper(kFsqrtH, OpcodeEnum::kFsqrtH);
+}
+
+TEST_F(ZfhEncodingTest, FsqrtH_rm) {
+  FloatRmHelper(kFsqrtH, OpcodeEnum::kFsqrtH);
+}
+
+TEST_F(ZfhEncodingTest, FsqrtH_frd) {
+  FloatFrdHelper(kFsqrtH, OpcodeEnum::kFsqrtH);
+}
+
+TEST_F(ZfhEncodingTest, FcvtHw) {
+  enc_->ParseInstruction(kFcvtHw);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFcvtHw);
+}
+
+TEST_F(ZfhEncodingTest, FcvtHw_frs1) {
+  FloatFrs1Helper(kFcvtHw, OpcodeEnum::kFcvtHw);
+}
+
+TEST_F(ZfhEncodingTest, FcvtHw_rm) {
+  FloatRmHelper(kFcvtHw, OpcodeEnum::kFcvtHw);
+}
+
+TEST_F(ZfhEncodingTest, FcvtHw_frd) {
+  FloatFrdHelper(kFcvtHw, OpcodeEnum::kFcvtHw);
+}
+
+TEST_F(ZfhEncodingTest, FcvtWh) {
+  enc_->ParseInstruction(kFcvtWh);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFcvtWh);
+}
+
+TEST_F(ZfhEncodingTest, FcvtWh_frs1) {
+  FloatFrs1Helper(kFcvtWh, OpcodeEnum::kFcvtWh);
+}
+
+TEST_F(ZfhEncodingTest, FcvtWh_rm) {
+  FloatRmHelper(kFcvtWh, OpcodeEnum::kFcvtWh);
+}
+
+TEST_F(ZfhEncodingTest, FcvtWh_frd) {
+  FloatFrdHelper(kFcvtWh, OpcodeEnum::kFcvtWh);
+}
+
+TEST_F(ZfhEncodingTest, FcvtHwu) {
+  enc_->ParseInstruction(kFcvtHwu);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFcvtHwu);
+}
+
+TEST_F(ZfhEncodingTest, FcvtHwu_frs1) {
+  FloatFrs1Helper(kFcvtHwu, OpcodeEnum::kFcvtHwu);
+}
+
+TEST_F(ZfhEncodingTest, FcvtHwu_rm) {
+  FloatRmHelper(kFcvtHwu, OpcodeEnum::kFcvtHwu);
+}
+
+TEST_F(ZfhEncodingTest, FcvtHwu_frd) {
+  FloatFrdHelper(kFcvtHwu, OpcodeEnum::kFcvtHwu);
+}
+
+TEST_F(ZfhEncodingTest, FcvtWuh) {
+  enc_->ParseInstruction(kFcvtWuh);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFcvtWuh);
+}
+
+TEST_F(ZfhEncodingTest, FcvtWuh_frs1) {
+  FloatFrs1Helper(kFcvtWuh, OpcodeEnum::kFcvtWuh);
+}
+
+TEST_F(ZfhEncodingTest, FcvtWuh_rm) {
+  FloatRmHelper(kFcvtWuh, OpcodeEnum::kFcvtWuh);
+}
+
+TEST_F(ZfhEncodingTest, FcvtWuh_frd) {
+  FloatFrdHelper(kFcvtWuh, OpcodeEnum::kFcvtWuh);
+}
+
+TEST_F(ZfhEncodingTest, FcmpeqH) {
+  enc_->ParseInstruction(kFcmpeqH);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFcmpeqH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpeqH_frs1) {
+  FloatFrs1Helper(kFcmpeqH, OpcodeEnum::kFcmpeqH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpeqH_frs2) {
+  FloatFrs2Helper(kFcmpeqH, OpcodeEnum::kFcmpeqH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpeqH_frd) {
+  FloatFrdHelper(kFcmpeqH, OpcodeEnum::kFcmpeqH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpltH) {
+  enc_->ParseInstruction(kFcmpltH);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFcmpltH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpltH_frs1) {
+  FloatFrs1Helper(kFcmpltH, OpcodeEnum::kFcmpltH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpltH_frs2) {
+  FloatFrs2Helper(kFcmpltH, OpcodeEnum::kFcmpltH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpltH_frd) {
+  FloatFrdHelper(kFcmpltH, OpcodeEnum::kFcmpltH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpleH) {
+  enc_->ParseInstruction(kFcmpleH);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFcmpleH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpleH_frs1) {
+  FloatFrs1Helper(kFcmpleH, OpcodeEnum::kFcmpleH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpleH_frs2) {
+  FloatFrs2Helper(kFcmpleH, OpcodeEnum::kFcmpleH);
+}
+
+TEST_F(ZfhEncodingTest, FcmpleH_frd) {
+  FloatFrdHelper(kFcmpleH, OpcodeEnum::kFcmpleH);
+}
+
+TEST_F(ZfhEncodingTest, FclassH) {
+  enc_->ParseInstruction(kFclassH);
+  EXPECT_EQ(enc_->GetOpcode(SlotEnum::kRiscv32Zfh, 0), OpcodeEnum::kFclassH);
+}
+
+TEST_F(ZfhEncodingTest, FclassH_frs1) {
+  FloatFrs1Helper(kFclassH, OpcodeEnum::kFclassH);
+}
+
+TEST_F(ZfhEncodingTest, FclassH_frd) {
+  FloatFrdHelper(kFclassH, OpcodeEnum::kFclassH);
+}
+
 }  // namespace
