说话 = say(v) + words(n)
The combination of 说话, was made into a single verb for "to speak/ to talk"
When we want to express "can't speak" we can treat "说话" as a single word "speak" and write 不能(can't) 说话 (speak);
We can also treat 说 as verb, 话 as noun. In this case [说不出] is a [verb (say)+ potential particle(can't) + result complement (out)] verb phrase, and the noun 话 is the object
A lot of compound words are made up of verb and noun the same way, and they can be broken down back to verb and noun elements when you need to modify the verb or the noun.
吃(v) = eat
飯(n) = rice/meal
吃飯 = eat(v) + meal(n)
吃飯 (v) = having meal
We can insert adverb and verb particle between 吃 and 飯, for example: "吃(完了)飯" = "(finished) having meal"
My point is, a compound word verb can be broken down back to their original word types and be modified separately
吃飯 --> 吃(完了)(我煮的)飯
(完了) modifies 吃
(我煮的) modifies 飯
说话 --> 说(出) (可怕的)话
(出) modifies 说
(可怕的) modifies 话
出 and 来 is a two parts result complement. You can see it more clearly if you remove the object 可怕的话, and look at "说 ~ 出来" (say ~ out) alone
话都说不出来 is a [topic + comment] sentence
"话都" - "even (a single) word" is the topic
"说不出来" - "unable to (be) spoken out" is the the comment