Would you really need to be able to commit / "export" speculatively read values? If one can speculatively read and execute it should be near trivial to create timing attacks that infer memory contents in something like O(log(N)) time by creating pipeline stalls for value ranges.
I'm not aware of the low-level details of intel's scheduler but I doubt you can fix that in microcode without absolutely destroying performance.