General claim is modern systems have better branch predictors and compilers are much more advanced so their cost on instruction encoding space is not justified.
This is from ARMv8 Instruction Set Overview
The A64 instruction set does not include the concept of predicated or
conditional execution. Benchmarking shows that modern branch
predictors work well enough that predicated execution of instructions
does not offer sufficient benefit to justify its significant use of
opcode space, and its implementation cost in advanced
implementations.
And it continues
A very small set of “conditional data processing” instructions are
provided. These instructions are unconditionally executed but use the
condition flags as an extra input to the instruction. This set has
been shown to be beneficial in situations where conditional branches
predict poorly, or are otherwise inefficient.
Another paper titled Trading Conditional Execution for More Registers on ARM Processors claims:
… conditional execution takes up precious instruction space as
conditions are encoded into a 4-bit condition code selector on every
32-bit ARM instruction. Besides, only small percentages of
instructions are actually conditionalized in modern embedded
applications, and conditional execution might not even lead to
performance improvement on modern embedded processors.