| Index: src/crankshaft/s390/lithium-codegen-s390.cc | 
| diff --git a/src/crankshaft/s390/lithium-codegen-s390.cc b/src/crankshaft/s390/lithium-codegen-s390.cc | 
| index 8237161e85e0ff5156a2c20322d5472b4b6740cb..613f21ad2f472ec0a4c62db97893b25f5a96c4d9 100644 | 
| --- a/src/crankshaft/s390/lithium-codegen-s390.cc | 
| +++ b/src/crankshaft/s390/lithium-codegen-s390.cc | 
| @@ -2193,6 +2193,13 @@ | 
| __ beq(instr->TrueLabel(chunk_)); | 
| } | 
|  | 
| +      if (expected & ToBooleanHint::kSimdValue) { | 
| +        // SIMD value -> true. | 
| +        Label not_simd; | 
| +        __ CompareInstanceType(map, ip, SIMD128_VALUE_TYPE); | 
| +        __ beq(instr->TrueLabel(chunk_)); | 
| +      } | 
| + | 
| if (expected & ToBooleanHint::kHeapNumber) { | 
| // heap number -> false iff +0, -0, or NaN. | 
| Label not_heap_number; | 
| @@ -5352,6 +5359,17 @@ | 
| __ CmpP(r0, Operand::Zero()); | 
| final_branch_condition = eq; | 
|  | 
| +// clang-format off | 
| +#define SIMD128_TYPE(TYPE, Type, type, lane_count, lane_type)        \ | 
| +  } else if (String::Equals(type_name, factory->type##_string())) {  \ | 
| +    __ JumpIfSmi(input, false_label);                                \ | 
| +    __ LoadP(scratch, FieldMemOperand(input, HeapObject::kMapOffset)); \ | 
| +    __ CompareRoot(scratch, Heap::k##Type##MapRootIndex);            \ | 
| +    final_branch_condition = eq; | 
| +  SIMD128_TYPES(SIMD128_TYPE) | 
| +#undef SIMD128_TYPE | 
| +    // clang-format on | 
| + | 
| } else { | 
| __ b(false_label); | 
| } | 
|  |